温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

OC里的继承和重写

发布时间:2020-06-28 03:37:09 来源:网络 阅读:1198 作者:飞奔的土豆 栏目:开发技术

 

 1.@private私有成员是不能被继承,也不能被外部函数访问。

@public 公有成员能被继承,也能被外部函数访问。

@protected 保护成员能够被继承,不能够被外部函数访问。

2. 继承后,父类公有的成员,子类继承后还是公有的;父类受保护的成员,子类继承后仍为受保护的。

3. OC中成员函数都死公有的,可以被继承,继承后,仍然是公有的。

4. 子类之中继承了父类中的保护和公有成员,如有私有属性,先继承部分属性,然后添加私有属性。

5. 超类 子类 --->强调相同

基类 派生类 --->强调不同

6. C++中可以sizeof子类得到子类的大小,但是OC中不能这样,主要因为OC编译器远没有C++编译器强大。Sizeof是编译的概念,alloc是运行的概念,OCsizeof的调用在子类创建之前,sizeof自然不能达到我们的期望。OC中编译时,不知道子类到底有多大。

7. 函数的重写,从父类继承的方法,可能这个方法并不适合子类,可以在子类中重写父类的方法。

重写之后,父类的对象调用父类的方法;子类的对象,调用子类的方法。不会引起冲突。从父类继承的方法,不适用于子类时,可以直接声明父类的同名函数,并定义。不用考虑父类中,函数已存在的问题。重写后,子类就不能调用父类的方法。

8. OC中所有的函数都是虚函数,函数的重写可实现多态性。

不同的(相近的)事物,在经过同一事件触发时,产生不同的结果or响应,调用函数时,不看指针看对象。父类的指针可以指向子类的对象。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI