黑马程序员——继承与多态

来源:互联网 发布:windows永久激活工具 编辑:程序博客网 时间:2024/06/05 14:15

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net
培训</a>、期待与您交流! -------


一、继承

1、什么是继承

AB两个类,若B包含了A所有属性,那么就没有必要在已经定义了A的基础上再去重写定义一个类BB的属性可直接从A继承过来。继承后B成为子类,A成为父类。若B继承A,则B具备了A所有属性。可以理解为BA,比如猫是动物,筷子是餐具。若A是猫,B是狗,那么B继承A就显然不成立。

2、继承的优缺点

在不改变原来模型的基础上,拓充方法。若B继承了AB不仅可以拥有A所有的属性,还可以自己单独定义自己的属性,在A的基础进行进一步重写,使B的属性扩充。

建立了类与类之间的联系。B继承了A,那么BA之间就建立起了联系。

抽取了公共代码。省去了相同的编写,使得程序编写复杂度降低,同时能增强程序可读性。

坏处:耦合性强。若父类程序发生改变,则其子类的相应属性也会跟着改变,这时可能会因想到B的某些功能,造成联锁反应。

3、继承的使用场合

它的所有属性都是你想要的,一般就继承。A的属性在B都使用,则B就可以继承A

它的部分属性是你想要的,可以抽取出另一个父类。

 

二、多态

1、什么是多态?多态即多种形态。多态就是父类指针指向子类对象。多态是建立在继承的基础上,没有继承就没有多态。在使用多态时,会进行动态检测,以调用真实的对象方法。

2、多态的好处。好处:如果函数方法参数中使用的是父类类型,则可以传入父类和子类对象,而不用再去定义多个函数来和相应的类进行匹配了。

3、多态的局限性。父类类型的变量不能直接调用子类特有的方法,如果必须要调用,则必须强制转换为子类特有的方法。

 

三、self的用途:

1、self出现在方法中,谁调用了当前的方法,self就代表谁,self出现在对象方法中,self就代表对象,self出现在类方法中,self就代表类。

2、在对象方法中使用 self->成员变量名 来访问当前对象内部的成员变量,也可以写成self.成员变量名,即点方法。

3、[self 方法名]可以调用其他对象方法或类方法。

 

四、super的用途:

1super的使用建立在继承的基础上。

2、直接调用当前方法所属类的父类的某个方法。

3super处在对象方法中,那么就会调用父类的对象方法,super处在类方法中,就会调用父类的类方法。

4、当子类继承了父类的方法,并且重写了父类的某个方法,同时在子类的方法中又想调用父类的某个方法,此时就可采用super方法。

 

 

0 0
原创粉丝点击