面对对象的三大特性
<1>.封装
每个对象都包含它能进行操作所需要的所有信息,这个特性成为封装。
封装好处:
1.良好的封装能够减少耦合
2.类内部的实现可以自由地修改
3.类具有清晰的对外接口
<2>.继承
继承定义了类如何相互关联,共享特性。继承的工作方式是定义父类和子类,其中子类继承父类的所有特性,子类不但继承了父类的所有特性,还可以定义新的特性。
子类继承父类:
1.子类拥有父类非Private的属性和功能
2.子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能
3.子类还可以以自己的方式实现父类的功能(方法重写)
Protected表示继承时子类可以对父类有完全访问权
子类可以从父类中继承的成员有方法、域、事件、属性、索引指示器,但对于构造方法,不能被继承,只能被调用。对于调用父类的成员,可以用base关键字
<3>.多态
多态表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行
子类以父类的身份出现时,只能用自己的方式来实现方法,但子类特有的属性和方法不可以使用
接口
接口就是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。一旦类实现了接口,类就可以支持接口所指定的所有属性和成员,声明接口在语法上与声明类完全相同,但不允许提供接口中任何成员的执行方式。
1.一个类可以支持多个接口,多个类也可以支持相同的接口
2.接口中的方法和属性前面不能有修饰符、方法没有方法体
抽象类与接口的区别:
1.抽象类的抽象成员可被子类部分实现,接口的成员需要实现类完全实现
2.一个类只能继承一个抽象类,但可实现多个接口
3.抽象类是对类的抽象,接口是对行为的抽象
抽象类是从子类中发现公共的东西,泛化出父类,然后子类继承父类。接口是不知道子类的存在,方法如何实现还不确认,预先定义