为什么要继承,多态
因为要动态的实现方法,即我传什么对象,具体实现什么方法,所以需要把所有能作为对象的参数的共性抽取成一个父类,让所有对象继承这个父类,这样可以减少代码量 因为只要在父类之中写一遍属性,其余继承这个父类的子类就拥有了所有父类的属性。就不需要 每个子类都写一遍属性,方法。之后只要在子类中继承的父类方法里写具体的方法实现,也因为如此所有父类里的方法写成抽象的就可以,因为父类没有实现的必要。具体实现就交给子类就可以了。完成后重新写一个方法,形参就可以将父类作为变量类型 即所有的子类都被父类包含,就可以实现根据我传什么对象,调用哪个对象的具体实现方法了
例子:现在有一亿个人,每个人都有不同的吃饭方式。那么我们不能创建一亿个class来代表这一 亿个人,代码量太多,此时我们要抽取这一亿人的共性,比如说人都有名字,年龄,指纹等属性,同时现在要有一个方法,告诉我这个人的吃饭方式。
具体实现思路:把一亿人的共性抽取出来,即把每个人都有的名字,年龄属性,以及吃饭的 行为抽取成一个父类(Person类)让一亿人的对象都继承这个父类就不要重复写他的属性,方法
只要写方法里的具体实现。之后因为需要知道这一亿人具体的吃饭方式,所以需要写一个测试类
里面 new 出 一亿人的具体事例。同时写一个showEat()方法。这个方法就是用来展示一亿人展示吃饭方式的方法,此时我们将父类(Person类)作为方法形参showEat(Person person ){
person.eat()
}
整理的person 随便写成什么,自己明白就行。这样的话Person这个父类就包含了一亿人。就能把一亿人的实例对象showEat()方法里。我传的是哪个人给我返回的就是哪个人吃饭的方式
总结:因为多个对象有共性(相同的属性,方法)所以要抽象,因为抽象产生了父类所以产生继承,因为继承所以可以使用多态、
注:以上为个人现阶段的理解,欢迎批评指正。