小试Objc中的类

//

//  main.m

//  ObjTest1

//

//  Created by Mac i on 12-7-27.

//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.

//


#import <Foundation/Foundation.h>



//  类申明     继承自NSObject

@interface Dog : NSObject

{

    int age;

    NSString* name;

}

//不带参数

-(void) show;


//带一个参数

-(void)setAge:(int)age;

-(void) setName:(NSString*)name;


//带两个参数

-(void)setAll:(int)age:(NSString*) name;

@end



//类实现

@implementation Dog


//1、类实现函数的顺序可以和类申明中函数的顺序不一样


-(void)show

{

    //格式化输出

    NSLog(@"My name is %@,I am %d years old!",name, age);

   

    //调用私有函数

    [self run];

}


//为了类变量名与函数参数不重复,可以在实现中,重命名参数名

-(void)setAge:(int)a

{

    age = a;

}


-(void) setName:(NSString *)n

{

    name = n;

}


-(void)setAll:(int)a:(NSString*) n

{

    age = a;

    name = n;

}


//2、类申明中没有申明的函数,也可以直接在类实现部分实现。可以把它看做使私有方法,只能在该类中使用。

-(void) run

{

    NSLog(@"I am running");

}




@end



int main(int argc, const char * argv[])

{


    @autoreleasepool {

        

        // insert code here...

        NSLog(@"Hello, World!");

        

        //定义一个NSString的字符串

        NSString* name = @"XiaoHua";

        //申明一个范型对象

        id dog;

        //将对象实例化

        dog = [Dog new];

        //使用对象的类函数对对象数据进行初始化

        [dog setAge:5];

        [dog setName:name];

        //显示数据

        [dog show];

        

        [dog setAll:10 :@"XiaoMing"];

        [dog show];

        

        

    }

    return 0;

}



//注:Objc中不存在真正的私有方法,也无法使用某个标示来限定为私有方法,从而禁止其他代码调用它,这是Objc动态副本的副作用。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值