面向对象问题归纳
1、什么是接口?什么是抽象类?两者的区别是什么?(联想:有了抽象类为什么还要用接口)
2、同一类中实例成员和静态成员的初始化顺序,静态成员和实例成员可以相互访问吗?
3、封装、继承、多态的理解?
4、类的直接成员和类的直接变量成员?
5、变量的作用域(联想:同级花括号结束部分)
6、类的扫描顺序
7、拆箱和装箱(数据类型转换)
8、接口的显示实现和隐式实现(接触项目中使用到的接口有:IEnumerable、IEnumerator,联想接口的使用)
9、C#中拼接大量字符串的方法,Javascript中拼接字符串的方法(StringBuilder(append),var [].push,join('')or ('&'))
10、字段、属性、局部变量(方法中声明的变量)
11、构造函数:默认构造函数、基类构造函数(子类需满足基类构造函数参数需求)
12、方法的重载(构造函数可以重载吗?)
13、方法的重写(override +(virtual、interface))
14、类单继承,接口多实现
15、成员保护级别
16、子类基类兼容性(子类对象赋值给基类变量)
17、泛型定义
18、****问题:类的方法成员声明的时候,没有任何关键字进行修饰那该的访问级别是什么(private)
解答:如何在代码中测试出这个问题?子类访问(共有成员,受保护成员(base关键字))————类的有效成员(字段,属性,方法,事件,委托)