美文网首页
06-06、面向对象的三大特性:继承的基本概念

06-06、面向对象的三大特性:继承的基本概念

作者: 山中石头 | 来源:发表于2017-09-19 11:48 被阅读0次
Snip20170919_9.png Snip20170919_10.png Snip20170919_11.png
继承的好处

解决问题: 重复代码太多
可以利用继承来解决当前重复代码太多的问题
只要A类继承了B类, 那么A类就拥有了B类的所有属性和方法(对象方法和类方法)
例如:
@interface Iphone : NSObject
其实在类名的后面加上: NSObject, 就是让当前类继承NSObject类
new方法就是继承过来的类方法
isa指针是从NSObject中继承过来的成员变量
继承的语法 @interface 类名 : 需要继承的类

其他注意点:重写父类的属性和方法

注意: 1、在继承中方法可以重写, 但是属性(成员变量)不能重写,会编译错误报重复定义属性(因为继承属性是直接拷贝到子类的)
如果子类中有和父类中同名的方法, 那么我们称之为方法重写
注意: 2、继承中的方法调用顺序, 如果自己有就调用自己的, 如果自己没有就调用父类的
3、方法的调用顺序, 先自己再父类, 如果父类中没有再爷爷类, 如果爷爷类再没有就找爷爷的爸爸类
如果一直找到NSObject类都没有找到, 那么就会报错
reason: '-[Iphone signalWithNumber:]: unrecognized selector sent to instance 0x1003043c0'

总结
继承:
当B类继承A类, 那么B类就拥有A类所有的属性和方法(类方法/对象方法)
 
 优点:
 提高代码的复用性
 可以让类与类之间产生关系, 正是因为继承让类与类之间产生了关系所以才有了多态
 
 注意: 
 不要以为继承可以提高代码的复用性, 以后但凡发现多个类当中有重复代码就抽取一个父类
 只要满足一定的条件我们才能使用继承
 条件: XXXX 是 XXX   /    某某某 is a 某某某
缺点:
 耦合性太强(依赖性太强),子类太依赖父类

相关文章

  • JavaScript基础系列之——继承

    一、基本概念: JavaScript基于原型实现面向对象特性,在JS编程中,面向对象的继承是重点,本文将从简单...

  • OC语言基本概念

    基本概念 oc面向对象语言,只需关注具有相关功能的对象,不必亲力亲为。 oc面向对象的三大特性:封装、继承(拷贝一...

  • 06-06、面向对象的三大特性:继承的基本概念

    继承的好处 解决问题: 重复代码太多可以利用继承来解决当前重复代码太多的问题只要A类继承了B类, 那么A类就拥有了...

  • Objective-C初始化方法

    一、继承 面向对象的三大特性:封装,继承,多态。⾯向对象提供了继承特性。继承既能保证类的完整,又能简化代码。面向对...

  • 2019-01-09 Android开发 Java基础知识整理

    JavaSE 基础: 一、Java 面向对象思想 1、面向对象都有哪些特性以及你对这些特性的理解 继承:继承是从已...

  • 面向对象语言基础

    面向对象语言的特性 面向对象的语言的特性:封装、继承、多态。 面向对象语言的设计原则 面向对象的语言在进行程序设计...

  • 面向对象三大特性(一):封装

    面向对象有三大特性:封装、继承和多态。注意,是面向对象的三大特性而不是Java的三大特性,Java只是面向对象语言...

  • Class 的封装及调用-Python教学【StudyQuant

    前言:面向对象的三大特性是指:封装、继承和多态。论Class 的封装及调用 面向对象三大特性 面向对象的三大特性是...

  • GeekBand-OC继承与多态

    面向对象三大特性:封装、继承、多态面向对象三大特性 继承 在OC中,继承为单继承。即每个类只能有一个父类,子类自动...

  • JAVA入门总结

    一、JAVA的特点 特点一:完全面向对象 两个基本概念:类、对象 三大特性:封装、继承、多态 特点二:健壮性 吸收...

网友评论

      本文标题:06-06、面向对象的三大特性:继承的基本概念

      本文链接:https://www.haomeiwen.com/subject/gxdwsxtx.html