OC第一天-继承,方法

Person.h

#import <Foundation/Foundation.h>

//Person 类的名字,冒号是继承,NSObject是父类;
//类的声明部分,也叫类的接口;以interface 开始,以end 结束
@interface Person : NSObject {

    @public //实例变量是公开的,不管在什么地方都能访问

//    实例变量,也叫类的特征,写在大括号里面
    NSString *_name;  //姓名
    NSString *_sex;   //性别
    int       _age;   //年龄  age是实例变量,不是对象
    NSString *_number;//身份证号
}

//声明方法的地方 大括号{}之后,结束符前面;方法就是类的行为

-(void) eat;  //减号“-”是方法的标识

@end

Person.m

#import "Person.h"

//类的实现部分:以implementation开头,以end结束
@implementation Person


//实现声明文件中声明eat的方法
-(void) eat{
    NSLog(@"%d随便打点",_age);
}

//子类重写父类的初始化方法
-(id) init {
    _name = @"zhangsan";
    return self;    //self表示是自己这个对象
}

@end

Audi.h

#import <Foundation/Foundation.h>

@interface Audi : NSObject{
    NSString *_brand;
    NSString *_color;
    int      _price;
}

//声明汽车跑的方法
-(void)run;

@end

//手机类的声明
@interface Phone : NSObject{

    @public   //公有的
    NSString *_brand;  //品牌
    NSString *_color;  //颜色
    NSString *_system; //系统
    float    _price;   //价格
}
//打电话
-(void)callSomeOne;
//玩游戏
-(void)playGames;
//更新系统
-(void)updateSystem;

@end

Audi.m

#import "Audi.h"

@implementation Audi
//实现跑的方法
-(void)run{
    NSLog(@"%@",_color);
}

@end


@implementation Phone
//打电话
-(void)callSomeOne{
    NSLog(@"跟女友打电话");
}
//玩游戏
-(void)playGames{
    NSLog(@"玩LOL");
}
//更新系统
-(void)updateSystem{
    NSLog(@"更新系统到8.3");
}

@end

main.m

#import <Foundation/Foundation.h>
#import "Person.h"
#import "Audi.h"
int main(int argc, const char * argv[]) {

//    用Person类实例化一个对象
//    alloc方法的作用是 在堆区开辟空间,并把首地址返回
//    []作用是调用方法
//    + 类方法,只能由类的名字来调用 ;alloc是+方法

//    alloc和init方法返回的类型都是id,id也是一种类型,表示泛型的意思,可以表示所有的对象类型,在oc中除了基本数据类型都是对象类型
    Person *person = [Person alloc];
    person = [person init];

//    这种初始化方式等价于上面两行代码
    Person *p = [[Person alloc] init];

    p -> _name = @"lisi";

    NSLog(@"p.name = %@", p ->_name);

    p -> _age = 23;
    NSLog(@"p.age = %d", p ->_age);

    [p eat];


//    调用person类中的eat方法
    [person eat];

//    创建audi类的实例
    Audi *audi = [[Audi alloc] init];
//    调用方法
    [audi run];


    Phone *phone = [[Phone alloc] init];
    [phone playGames];
        return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值