objective-c中类的合理设计(入门一)
2015-09-16 00:00
357 查看
摘要: 今天浅谈一下如何合理设计一个类,类的设计小则影响模块,大则影响整个项目。类的设计是考验你是否对这个类切底了解,也是一个锻炼你对框架的逐步了解的机会。也可以说设计类是一个艺术活,是在构建世界的某一个部分。不用担心,今天不说类设计的5大原则,我们先从最基本说起起,由问题引出类的设计,再逐步实现这个类。
OC 类的合理设计
今天浅谈一下如何合理设计一个类,类的设计小则影响模块,大则影响整个项目。类的设计是考验你是否对这个类切底了解,也是一个锻炼你对框架的逐步了解的机会。也可以说设计类是一个艺术活,是在构建世界的某一个部分。不用担心,今天不说类设计的5大原则,我们先从最基本说起起,由问题引出类的设计,再逐步实现这个类。
问题:
设计一个学生类,先来个简单的。
学生类:
成员变量:性别、生日,年龄
OC 代码:
//性别的枚举
typedef enum{
SexMan;
SexWoman;
}Sex;
///生日的枚举
typedef enum{
int year;
int month;
int day;
}Date;
#import
//类的声明
@interface Student : NSObject
{
Sex sex;//性别
Date birthday;//生日
int age;//年龄,部分开发人员习惯在成员变量前面加下横线 如 : _age
}
@end
//学生类的实现
@implememtation Student
@end
关于上面为什么性别要用枚举呢?有一些初级开发人员可能会用布尔型,这样问题就来了,谁知道布尔为真代表的值是男还是女呢?用枚举的话,一目了然。有一些开发人员用是用枚举了,但在枚举里面直接写 man和woman,这样也是不符合规范的,应该在前面加上布尔名,如SexMan;关于这篇文章,我特意留了些不合理的设计
![](http://static.oschina.net/uploads/img/201509/16000757_zAfK.gif)
,这个就留给大家思考吐槽吧!
OC 类的合理设计
今天浅谈一下如何合理设计一个类,类的设计小则影响模块,大则影响整个项目。类的设计是考验你是否对这个类切底了解,也是一个锻炼你对框架的逐步了解的机会。也可以说设计类是一个艺术活,是在构建世界的某一个部分。不用担心,今天不说类设计的5大原则,我们先从最基本说起起,由问题引出类的设计,再逐步实现这个类。
问题:
设计一个学生类,先来个简单的。
学生类:
成员变量:性别、生日,年龄
OC 代码:
//性别的枚举
typedef enum{
SexMan;
SexWoman;
}Sex;
///生日的枚举
typedef enum{
int year;
int month;
int day;
}Date;
#import
//类的声明
@interface Student : NSObject
{
Sex sex;//性别
Date birthday;//生日
int age;//年龄,部分开发人员习惯在成员变量前面加下横线 如 : _age
}
@end
//学生类的实现
@implememtation Student
@end
关于上面为什么性别要用枚举呢?有一些初级开发人员可能会用布尔型,这样问题就来了,谁知道布尔为真代表的值是男还是女呢?用枚举的话,一目了然。有一些开发人员用是用枚举了,但在枚举里面直接写 man和woman,这样也是不符合规范的,应该在前面加上布尔名,如SexMan;关于这篇文章,我特意留了些不合理的设计
![](http://static.oschina.net/uploads/img/201509/16000757_zAfK.gif)
,这个就留给大家思考吐槽吧!
相关文章推荐
- PostgreSQL新手入门教程
- Ajax PHP简单入门教程代码
- Nodejs学习笔记之入门篇
- jQuery入门 构造函数
- jQuery入门介绍之基础知识
- 针对初学者的jQuery入门指南
- jquery 指南/入门基础
- JDBCTM 指南:入门
- struts2入门Demo示例
- JSP入门教程(4)
- JSP入门教程(3)
- C#语言初级入门介绍
- JSP入门教程(1)
- JSP入门教程(2)
- JavaScript入门学习书籍推荐
- Linux 入门常用命令 password ― 修改密码,改变用户
- 安全检测Unix和Linux服务器安全设置入门精讲
- System.Web.Routing入门及进阶
- System.Web.Routing入门及进阶
- C++入门概览和尝试创建第一个C++程序