iOS类的合理设计,面向对象思想

每天更新的东西可能有重复的内容,当时每一部分的知识点是不同的,需要大家认真阅读

这里介绍了iOS类的合理设计,面向对象思想


main.m

#import <Foundation/Foundation.h>
#import "Iphone.h"
int main(int argc, const char * argv[])
{
    Iphone * phone = [Iphone new];
    phone->_color = IphoneColorWhite;
    phone->_size = IphoneSize3point5;
    
    //phone = 0ffxxx
    //[0ffxxx cameraWithFlashLightStatus];
    [phone cameraWithFlashLightStatus:IphoneFlashLightStatusOpen];
    
    return 0;
}



iphone.h

@interface Iphone : NSObject
{
    @public
    /** 用来存储iPhone屏幕尺寸 */
    //enum IphoneSize 与IphoneSize 等价
    IphoneSize _size;//用来存储iPhone屏幕尺寸
    /** 用来存储iPhone颜色 */
    IphoneColor _color;//用来存储iPhone颜色
    
    /** 用来存储cpu大小 */
    float _cpu;
    /** 用来存储内部容量大小 */
    float _ram;
}

//设计方法技巧,假设方法没有返回值,不要纠结是否有返回值,不要让琐碎的事儿干扰思路
/**打开闪光灯*/
-(void)openFlashLight;
/**关闭闪光灯*/
-(void)closeFlashLight;
/**自动*/
-(void)flaseLightAuto;
/**拍照*/
-(void) cameraWithFlashLightStatus:(IphoneFlashLightStatus)flaseLightStatus;

@end



iphone.m

#import "Iphone.h"

@implementation Iphone
/**打开闪光灯*/
- (void)openFlashLight
{
    NSLog(@"打开闪光灯");
}
/**关闭闪光灯*/
- (void)closeFlashLight
{
    NSLog(@"关闭闪光灯");
}
/**自动*/
-(void)flaseLightAuto
{
    NSLog(@"自动模式");
}
/**拍照*/
- (void)cameraWithFlashLightStatus:(IphoneFlashLightStatus)flaseLightStatus
{
    //类的内部如何获得一个对象的地址
    //self 关键字
    //谁调用 self就代表谁
    if(flaseLightStatus == IphoneFlashLightStatusOpen)
    {
        //打开闪光灯
        [self openFlashLight];
    }
    else if(flaseLightStatus == IphoneFlashLightStatusClose)
    {
        [self closeFlashLight];
        //关闭闪光灯
    }
    else
    {
        [self flaseLightAuto];
        //自动模式
    }
    
    NSLog(@"拍照了!笑一个");
}
@end



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值