1.什么叫做类
同一个事物的相同属性和行为的抽象,简单的说就是对象的模板。
2.什么叫做对象
如果说类是一种抽象,那么对象就是对类的一种具体实现。
3.什么叫做封装
对某些相关联的事物进行组合包装,就像类一样。
4.什么叫多态
子类的实例指向父类的引用。
如何实现多态呢?
通过继承,抽象类与接口就是它的表现形式。
5.什么是抽象类(abstract)
将几个有区别的事物的共同性质和特性形象的去出来或孤立的进行考虑的行为和过程。
这可能难以理解。讲解下:
首先抽象类的特点:
抽象类中可以没有抽象方法,但是如果没有了抽象方法,那这个抽象类就没什么意义了。
抽象方法必须定义在抽象类中,而且抽象方法必须是共有的。
抽象类是为了子类服务的。当有很多的类要实现共同的方法和共有相同的属性时,我们就可以使用抽象类,这其实就是多态的一种表现形式。在继承抽象类的子类中必须全部实现抽象类中的抽象方法。
--------------------------------
我下了个很好的例子。可供参考
抽象类是不能够实例化的类:
它的作用就是产生子类的同时给于子类一些特定的属性和方法.
来个简单的例子...
如果你的程序里面需要用到苹果和梨这2个类..那么你可以分别给出这2个类
但是你会发现这2个类里面有共同的属性和方法(属性: 都有核.. 方法: 都需要削皮吃...)那么你可以建立抽象类 "水果" 把
这些共同的东西都定义在那里. 那么你的2个子类就只需要实其他必要的东东了(味道, 价格...)
优点: 当你需要对苹果和梨做新的,共同的修改或者添加的时候. 你现在就可以直接对他们的超类 水果 做就可以了.
6.什么是接口
接口的特点是没有修饰符,且没有方法体。
接口之所以存在是因为C#中抽象类无法实现多继承,但却可以继承多个接口,有了接口可以集合对多个方法实现的多态,如果你想以后相对每个结成接口的子类加一个共同的方法的时候,只需要在接口中定义方法,在子类中实现接口。
7.什么是虚方法
对基类中方法的重写。它可以定义在抽象类中,也可以定义在普通的父类中。
8.什么是override
重写,子类只用该关键字对抽象方法,抽象属性,抽象索引器重写。当然对虚方法重定义时也是使用该关键字。
9.什么是重载 overload
相同的方法名,不同的形参,不同的返回值。实现相同的目的。
10.什么是new
我们这里不谈实现对象的那个new,这里的new,我是指对虚方法重定义,不过当我们继承该重写虚方法所在的子类后,实例化对象,调用该方法时,所实现的方法其实不是该子类的方法而是该子类父类的方法。所以说它没有什么实在的意义。
本人面试出问题,回来总结下,供菜鸟参考,不保对哦