zoukankan      html  css  js  c++  java
  • ObjectiveC面向对象编程继承

    1、Object-C只允许单继承,要实现类似多继承的功能可以通过协议(protocol)实现

    2、支持多态

    3、Object语言本身最大特点--消息传递

      在C++里的类与方法的关系非常严格清楚,一个方法必定属于一个类,并且于编译期(compile time)就已经紧密绑在一起,不可能调用一个不存在类里的方法。

      Object-C,类与消息的关系较为松散,所有方法都被视为消息的回应,而调用方法则视为对类发送消息。所有消息处理知道运行期(runtime)才会动态决定。并交由类自行决定如何处理收到的消息。

    4、一个类不保证一定会回应收到的消息,如果类收到了一个无法处理的消息,程序并不会出错或者当掉。

    5、属性总是公共的,其目的为提供外部类访问(也可能为只读)类的内部变量的方法。

      属性可以被声明为“readonly”,只读的,也可以提供存储方法包括"assign","copy"或者“retain”(简单的赋值、复制或增加唉1引用计数)

      默认的属性是原子的,即在访问时会加锁以避免多线程同时访问同一对象,也可以将属性声明为"nonatomic"(非原子的),避免产生锁。

    @interface Person : NSObject{

      @public NSString *name;

      @privae int age;

    }

    @property(copy) NSString *name;

    @property(readonly) int age;

    -(id)initWithAge:(int)age;

    @end

      访问属性:

      属性的访问方法由@synthesize关键字来实现,它由属性的声明自动的产生一对访问方法。另外,也可以选择使用@dynamic关键字表明访问方法由程序员手工提供。

    Person * aPerson =[[Person alloc]initWithAge: 53];

    aPerson.name =@"steve";

  • 相关阅读:
    uva-10160-枚举
    zk-systemd
    c++官方文档-枚举-联合体-结构体-typedef-using
    c++官方文档-动态内存
    c++官方文档-指针
    c++官方文档-命名空间
    c++官方文档-模版函数和重载
    c++官方文档-按值传递和按引用传递
    c++官方文档
    HDU 1068
  • 原文地址:https://www.cnblogs.com/kenwong/p/3025329.html
Copyright © 2011-2022 走看看