论抽象类和接口
大话设计模式-面向对象基础 读后感
老生常谈的话题了,但每一次复习都有新的收获。温故而知新
论抽象类
比如猫继承动物类
我们实例对象抽象成类。比如猫对象抽象成猫类。
如果把一个动物的实体抽象成类,就没有很大的具体意义。 动物实体是什么..
所以我们考虑把实例化没有意义的父类,改成抽象类。
抽象类注意点:
1 抽象类不能实例化(貌似实例化了也没有多大的意义,要是有意义也不会变成抽象类了)
2 抽象方法必须被子类重写的方法
3 如果类中包含抽象方法,那么类必须定义为抽象类
PS:考虑让抽象类拥有尽可能多的共用代码,拥有尽可能少的数据。
抽象类通常代表一个抽象概念,它提供一个继承的出发点,当设计一个新的抽象类时,一定是用来继承的,所以,在一个继承关系形成的等级结构里面,树叶节点应当是具体类,而树枝节点应当是抽象类。
论接口
接口就是把隐士公共方法和属性结合起来,以封装特定功能的一个集合。一旦类实现了接口,类就可以支持接口所指定的所有属性和成员。
接口注意点:
1 接口不能实例化,不能有构造方法和字段
2 不能有修饰符,如public,private
3 实现接口的类必须实现接口中所有的方法和属性
PS: 接口的命名,前面要加一个大写字母‘ I ’
抽象类---相似的对象
接口-- 感觉无关的对象,但有相师的特行,如飞机,鸟,超人 都会飞
1: 类是对象的抽象;抽象类是对象的抽象;接口是行为的抽象.如果只关注行为抽象,那么可以认为接口就是抽象类。
无论是接口,抽象类,或者对象,都是在不同的层次,不同的角度进行抽象的结果
2: 如果行为跨越不同类的对象,可使用接口;对于一些相似的类对象,用继承抽象类