oc基础知识(一)

OOA 面向对象分析
OOD 面向对象设计
OOP 面向对象语言 如java

对象

    类的实例化,所有具体的事物都可以称之为对象。
    包含相应的属性和相应的方法(行为)。

对象的抽象化,所有具有相同属性和方法的对象的集合。
OC类的定义:
#import:类似C中的#include,但是#import能避免头文件被重复包含(重发导入编译);
#import<…>导入系统自带的类
#import”…”导入自定义的类
实例化方法(减号方法):
需要实例化对象之后通过对象来进行调用;
实例化方法允许调用实例方法和实例变量。
类方法(静态方法,加号方法):
不需要实例化对象,直接使用类调用;
可以调用类方法;
不可以调用实例化方法,可通过实例化对象进行调用;
不可使用实例变量,可使用self(self不是实例化变量);
类方法作为消息,可以被发送到类里面去,不能发送到对象里面去(可以通过类,但是不能通过对象调用类方法)。
对象初始化:
类名 * 对象名 = [[类名 alloc] init];
类名 * 对象名 = [类名 new];
重写父类init方法:
-(id)init
{
    if(self = [super  init])
{
    name = @”lucy”;
    age = 20;
}
return self;
}
便利初始化方法:
-(id)initWithName:(NSString *)aName  andAge:(int)anAge
{
    if(self = [super init])
{
    name = [aName copy];
    age = anAge;
}
return self;
}
便利构造器:
+(id)studentWithName:(NSString*)aName         andAge:(int)anAge
{
    //实例化对象调用便利初始化方法
    Student *student = [[Student  alloc] initWithName;aName  andAge:anAge];
    [student autorelease];//自带释放,即不用进行内存管理
    return student;
}
实例变量:
@interface Student : NSObject
{//需要在括号定义实例变量
    @pubilc //公开的
    NSString *name;
    int age;
    @private//私有的
    NSString * nickname;
    double weight;
    @protected//受保护的
    NSString *familyName;
    double height;
}
设置器,访问器:
-(NSString *)getName
{
    return name;
}

-(void)setName:(NSString *)newName
{
    name = newName;
}
属性:
@property (nonatomic,copy) NSString *name;
属性的实现:
@synthesize name, age;//可以省略实现部分(不用实现,即系统默认)
封装:
对内部实现进行隐藏,对外提供接口;
NSNumber//对基本数据(C)类型进行封装(转化为对象)
+(NSNumber *)numberWithChar:(char)value;
+(NSNumber *)numberWithInt:(int)value;
…
-(NSNumber *)numberWithChar:(char)value;
…
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值