学习面向对象总结
实现多态的步骤
1 找出父类
2 找出所有子类都具有的相同方法 但是实现方式各不一样
3 将这个方法在父类中标记为虚方法或抽象方法
4 在子类中重写
5 让父类变量指向子类对象(父类类型作为参数,作为返回值)
6 调用父类变量的虚方法
//抽象方法 虚方法 继承 多态 封装
1 抽象用abstrace修饰
2 抽象方法不能用方法体 大括
3 抽象方法必须要在抽象类中
4 抽象方法不能被实例化,因为有抽象成员,而抽象成员是没有方法体的
5 子类必须重定父类的抽象方法
6 在子类中无法通过base关键字,调用父类的抽象方法
7 抽象方法是光说不做的,只是定义了具有这样的行为,但是具体的实现交给子类
8 抽象类中可以拥有非抽象成员,为了继承给他的子类
9 抽象类中拥有虚方法
10 子类必须重新父类的方法 父类没有必要实例化 就用抽象类
11 抽象类是为了被继承,为了多态
12 抽象成员不能是私有的,因为子类没办法访问,就没办法重写
1具有某种能力
2接口是一个特殊的抽象类
3接口不能实列化
4接口表示具有某种能力
5接口可以定义的成员
6接口中的成员默认就是抽象
7在接口中只能定义属于 方法 索引 事件
8抽象成员不能访问修饰符,默认就是public
9实现接口中的类,必须要实现接口中所有成员
10实现成员的时候必须保证签名一致
11接口就是一个纯粹为了规范实现类的
//为什么有出现接口
继承 抽象,虚方法 接口 都是为了实现多态
//抽象类:可以找到父类,并且希望通过父类继承给子类一些成员
//接口:多个类具有相同的方法,但是却找不出父类,就可以将方法定义在接口
让这些类去实现
//一个类只能继承1个父类,但是可以实现多个接口 父类要写在
//第一个位置,一定程度上解决类的单根性的问题
//接口可以继承接口
//接口中的成员可以实现抽象方法或者虚方法 让实现类的子类去实现
//接口--抽象类--父类---具体类
//面向接口编程不关心具体的实现