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良师益友网学习。

  • 相关阅读:
    SharePoint开发
    SharePoint开发
    win32-如何识别哪个静态控件被点击
    win32
    win32-创建透明的图片按钮
    读取位图文件
    python--获得特定程序的屏幕截图并保存为文件
    win32--GetFileAttributes
    谈一下交换值之后并不能返回预料的结果
    链表--insert
  • 原文地址:https://www.cnblogs.com/yuguotianqing/p/4089112.html
Copyright © 2011-2022 走看看