iOS入门(十六)实例变量可见度和方法

来源:互联网 发布:php开发的大型网站 编辑:程序博客网 时间:2024/05/18 03:37
实例变量可见度和方法 
 public  private  protected 
可见度默认为  protected  ( 在 main 文件中通过赋值和取值对不在可见度范围内的特征进行设置和读取)
方法分为:
 类方法:+(类方法中不能使用实例变量)    实例方法 : -
方法声明 : 方法类型标识符 (返回类型)  参数形容词 : (参数类型) 参数名  参数形容词 :(参数类型) 参数名 
方法名为 : 参数形容词 + :
“:”标识参数,不可省略 。
方法使用:
【接收者  方法】  给接收者发送 方法消息,接收者接收到方法消息,找到相应地方法并执行。
设置器 : 
-(void) setName : (NSString *) name 
{
_name = name ;
访问器

-(NSString *) name

{

    return _name;

}
多参方法 (不推荐) 
自定义初始化方法:
-(id) init;(只能给实例变量设置默认值)
-(id) initWithName;

-(id) initWithName :(NSString * ) name

{

    _name = name ;

    return  self ;

}

-(id) initWithName :(NSString * ) name   sex : (NSString *) sex  hobby : (NSString *) hobby  age : (int ) age

{

    _name = name ;

    _sex = sex ;

    _hobby = hobby;

    _age = age;

    return  self ;

}

 

    Person * per1 =[ [Person alloc] initWithName: @"啦啦 " sex:@"男 "hobby:@"楠楠 "age:58 ];

 


#import 导入头文件 , 导入自定义类 形似include 但是可以避免头文件被重复导入。

注意交叉导入 。避免交叉导入 @class   把之后的内容作为一个类来使用。

eg : @class MobilePhone;  ( 主要用于声明文件,只导入类型,要使用方法则在实现文件里面导入头文件)


作业:

 

 定义分数(Fraction)类: 1、实例变量:分子、分母(@protected) 2、方法:(1)自定义初始化方法(初始分子和分母)(2)分子 的赋值、取值方法(3)分母的赋值取值方法(4)打印分数信息 (5)约分(6)加、减、乘、除运算方法。 3、mian.m文件中创建分数对象,测试加、减、乘、除。 提示:加法运算有一个Fraction类型的参数(参与加法运算的另外 一个分数对象),有一个Fraction类型的返回值(结果)。

 


 

    打僵尸 ,需求:

    定义普通僵尸类:

    实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。

    方法:初始化方法(设置僵尸种类,总血量)、被打击失血、死亡。 

定义路障僵尸类:

    实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具。

    方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。 

定义铁桶僵尸类:

    实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。

    方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。 

1、创建普通僵尸对象,设置总血量50,每次失血量为 3 

2、创建路障僵尸对象,设置总血量80,有路障时,每次失血量为 2 3、创建铁桶僵尸对象,设置总血量120,有铁桶时,每次失血量为 1

    4、选作:

    For循环 模拟攻击:

    (1)、普通僵尸被打击时:每次失血3. (2)、路障僵尸被打击时:有路障时,每次失血2,血量剩余一半时,失去路障,每次失血3. (3)、铁桶僵尸被打击时:有铁桶时,每次失血1,血量剩余1/3时,失去铁桶,每次失血3. 循环攻击过程中:每个僵尸被攻击时,输出本次丢失血量,剩余血量。丢失道具时,输出丢失的道具。僵尸死亡时,输出已死亡。 最后一个僵尸死亡时,攻击停止,循环结束。输出总攻击次数。

    

    矩形计算

    1、定义一个新的类XYPoint,实例变量:x,y。方法:初始化、赋值、取值方 法

    3、定义一个新的类Rectangle,实例变量:width,height,XYPoint类型的实 例变量point,XYPoint类型的实例变量center。方法:4个实例变量的赋值、取 值、计算周长、计算面积

     

    编写一个房屋类,由门、窗户等组成。门和窗户有自己的开关 方法,然后将门和窗户这些复合在一起成为房屋类,调用房屋 类的进出方法实际调用到门的开关;调用房屋的换气方法,实 际调用到窗户的开关;提供方法,实现更换门窗。

 


 

- (int) maxGY1:(fenshu*)_fenshu

{

//    辗转相减法

    while (_fenshu->fenzi != _fenshu->fenmu) {

        int cha = abs(_fenshu->fenzi - _fenshu->fenmu);

        _fenshu->fenzi = _fenshu->fenmu;

        _fenshu->fenmu = cha;

        _fenshu->gongyue = _fenshu->fenzi;        

    }

    return _fenshu->gongyue;

}


 

0 0
原创粉丝点击