标签:
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、总结
1.只有利用类名调用类方法的时候,不需要在类名后面写*。其他情况下,类名后面统一加上一个*
Circle *c1 = [Circle new]; - (BOOL)isInteractWithOther:(Circle *)other;
2.返回值是BOOL类型的方法,方法名一般都以is开头
- (BOOL)isInteractWithOther:(Circle *)other;
3.想要拥有某个对象,就先创建对象,然后调用set方法将对象传递给内部的成员变量
// 创建圆心对象 Point2D *p2 = [Point2D new]; [p2 setX:12 andY:19]; // 设置圆心 [c2 setPoint:p2]; - (void)setPoint:(Point2D *)point { _point = point; }
4.定义一个类分2个文件:.h声明文件、.m实现文件
.h : 成员变量、方法的声明
.m : 方法的实现
5.如果想使用某一个类,只需要#import类的.h文件即可
二、点语法
点语法是编译器特性,点语法的本质是方法调用
self.age = age 等价于 [self setAge:age]
self.age 等价于 [self age]
三、成员变量的作用域
@public : 在任何地方都能直接访问对象的成员变量
@private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected)
@package : 只要处在同一个框架中,就能直接访问对象的成员变量
@interface和@implementation中不能声明同名的成员变量
四、@property与@synthesize
1、 @synthesize
用于@implementation中,@synthesize int age= _age;(Xcod4.4之前版本用,现在已经不再使用了)
自动生成age的setter和getter实现,并且会访问_age这个成员变量,如果没有age,就会自动生成@private类型的age变量
2、@property
用于@interface中,可以自动生成某个成员变量的setter和getter声明
3、Xcod4.4之后,@property 既生成成员变量,又生成setter 和 getter的声明,还生成实现。
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
黑马程序员——OC学习小结------成员变量以及对应的set、get方法
标签:
原文地址:http://www.cnblogs.com/zhangxiaoshan/p/4533211.html