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 keyword
//谁调用 self就代表谁
if(flaseLightStatus == IphoneFlashLightStatusOpen)
{
//打开闪光灯
[self openFlashLight];
}
else if(flaseLightStatus == IphoneFlashLightStatusClose)
{
[self closeFlashLight];
//关闭闪光灯
}
else
{
[self flaseLightAuto];
//自己主动模式
} NSLog(@"拍照了。笑一个");
}
@end
iOS类的合理设计,面向对象思想的更多相关文章
- Python学习第十四篇——类初步使用及面向对象思想
class Restaurant(): def __init__(self,restaurant_name,cuisine_type): self.name = restaurant_name sel ...
- 06-03 Java 面向对象思想概述、开发设计特征,类和对象的定义使用,对象内存图
面向对象思想概述.开发设计特征 1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一 ...
- java 28 - 1 设计模式 之 面向对象思想设计原则和模版设计模式概述
在之前的java 23 中,了解过设计模式的单例模式和工厂模式.在这里,介绍下设计模式 面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设 ...
- AJPFX总结面向对象思想设计原则
面向对象思想设计原则 A.单一职责原则 其实就是开发人员经常说的”高内聚,低耦合” 也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原 ...
- XML模块,面向对象思想与类的定义
今日内容 XML模块,面向对象思想,类的定义 1.XML模块 xml是一种可扩展的标记语言格式如下 使用 <> 作为标签格式 <tag style: '' color:read '' ...
- 第四节:详细讲解Java中的类和面向对象思想
前言 大家好,给大家带来详细讲解Java中的类和面向对象思想的概述,希望你们喜欢 类和面向对象 在Java中怎样理解对象,创建对象和引用:什么是引用,对于基础学习的同学,要深入了解引用.示例:Stri ...
- 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射
一. Objective-C 对象简单处理 1. 包装类 (1) 包装类简介 NSValue 和 NSNumber : -- 通用包装类 NSValue : NSValue 包装单个 short, i ...
- 【重走Android之路】【Java面向对象基础(三)】面向对象思想
[重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinkin ...
- c语言里用结构体和指针函数实现面向对象思想
一.基础研究 观察如下两个程序a.c和b.c: A.c: B.c: 这两个程序都是要实现在屏幕上第10行40列打印一个绿色的字符c: 这两个程序的数据组织方式是一样的,都是使用结构体,而且对共性和个性 ...
随机推荐
- cocos2d-x游戏开发(一)之环境搭建篇
前言 进入研究生生涯已经有一段时间,感觉却没做些什么,实验室虽有一个很大的国家项目,但考虑到它这么的单一,总想利用业余时间做些什么,拓宽一下自己的知识面. 偶然机会,了解到cocos这个东东,恰好,实 ...
- 牛客网暑期ACM多校训练营(第六场) J Heritage of skywalkert(数论, eth_element)
链接: https://www.nowcoder.com/acm/contest/144/J 题意: 给定一个函数, 求它n次结果中任意两次的lcm最大值 分析: 首先要看出这个函数并没有什么含义, ...
- centos7 安装nodejs 最新版
笔者在安装时,node为11.0.0版本.这里以11版本为例,以后更新,安装步骤时一致的. 下载node安装包到指定目录 wget https://npm.taobao.org/mirrors/nod ...
- Oracle审计相关对象的迁移
目录 创建审计用的表空间 在线迁移 查询结果 在日常的数据库维护中,经常出现因为数据库登录审计的功能启动,导致system表空间被用满.从而出现异常,一般建议把aud$相关对象迁移到其他表空间,从而避 ...
- pycharm调整字体大小
问题:pycharm的默认字体比较小,看起来费眼睛 解决办法: 1.打开 file-->settings 2.Editor-->font 注意:没有修改过的需求先保存一下才能修改size
- tensorflow 如何限制显存大小
Python在用GPU跑模型的时候最好开多进程,因为很明显这种任务就是计算密集型的. 用进程池好管理,但是tensorflow默认情况会最大占用显存,尽管该任务并不需要这么多,因此我们可以设置显存的按 ...
- IndiaHacks 2nd Elimination 2017 (unofficial, unrated mirror, ICPC rules)
D. Airplane Arrangements time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- MHA 高可用集群搭建(二)
MHA 高可用集群搭建安装scp远程控制http://www.cnblogs.com/kevingrace/p/5662839.html yum install openssh-clients mys ...
- Hubtown
Hubtown 时间限制: 10 Sec 内存限制: 256 MB 题目描述 Hubtown is a large Nordic city which is home to n citizens. ...
- Heritage of skywalkert
Heritage of skywalkert skywalkert, the new legend of Beihang University ACM-ICPC Team, retired this ...