zoukankan      html  css  js  c++  java
  • oc编程中继承的相关实例

    继承是指一个对象直接使用另一对象的属性和方法(具体参考0基础C语言开发)。继承有两缺点:

    (1)当层级越来越多时,假如每个层级都有实例变量,那么最下层的子类继承的实例变量会超级多,沉重;

    (2)当消息传递自子类往上时,层级越多,效率越低下。

    所以就有了组合。说实话区分继承和组合真不是那么容易。所谓两者是“is a"关系则是继承,两者是"has a"则是组合,还是模糊。其实,这两个概念无须区分十分明显,只需要记住:

    a)组合和继承实现的功能差不多,但是实现的形式不一样,记住各自的形式即 可;

    b)尽量用组合。

    下 面举个例子,我们先创建一个ASPoint类,记录x和y坐标值。然后再创建一个ASRectangle类,记录这个长方形在坐标轴上得左下角坐标以及宽 和高,这里面的左下角坐标就可以用ASPoint类的一个对象来表示,所以说ASPoint类的一个对象是ASRectangle组合的一个部分。

    (1)ASPoint.h


    (2)ASPoint.m


    (3)ASRectangle.h

    (4)ASRectangle.m


    (5)main.m


    (6)结果:输出x和y坐标值

    //就是创建这个对象时初始化赋的值

    20,20

    更多编程语言教程可登陆e良师益友网学习。

  • 相关阅读:
    mobx的一个记录
    前端模块规范AMD/UMD/CommonJs
    CSS3字体大小单位的认识px/em/rem
    各浏览器之间的字号检测
    react整理一二(初入React世界)
    Node.js中实现套接字服务
    闲来无事,把node又拾起来看看
    判断类型
    html5 搜索框
    CSS 设置placeholder属性
  • 原文地址:https://www.cnblogs.com/yuguotianqing/p/4089112.html
Copyright © 2011-2022 走看看