前面我们讲完了面向对象的思想, 那么现在我们来讲讲什么是对象, 什么是类.
比如:
一家工厂要生产一台轿车, 首先得有一台轿车的设计图, 然后根据这个设计图, 可以做出很多轿车, 然后轿车里面有一些不同, 比如它们的配置, 我们都知道, 一个车型有不同的配置, 比如手动档, 自动挡等等一系列的不同, 但这些车子都是对象, 而设计图就是这些车子的类.
比如:
人类, 就是一个人人都知道的名词, 人有五官五脏四肢, 生殖系统等等, 但每个人又有一些不同, 比如他的眼睛大一些, 他的眼睛小一些, 他高一些, 他矮一些, 这就是他们的不同, 在这里我们称为属性, 而人类就是造物者用来创造人的一个图纸, 人类就是一个类.
比如:
我们所使用的智能手机系统, (智能手机系统)这个名词就是一个类, 而所谓的Android, iOS, Window Phone, BlackBerry系统就是对象, 它们拥有各种不同的属性, 比如Android是谷歌开发的, iOS是苹果开发的, Window Phone是微软开发的, BlackBerry是黑莓开发的, Android是开源的, iOS是闭源的等等一些不同的属性, 但它们归根到底都是对象.
讲解了那么多, 其实可以非常简单的说, 只要我们有了这样子的一个类, 我们就可以创建很多这样子的对象, 需要创建多少个对象得看你个人的需求, 所以我们在开发OC程序的时候, 得思考我们需要设计哪些类, 然后再利用这些类来创建多少个对象.
比如我要设计一个类用来描述一台空调, 那么我们需要什么功能呢? 设计类的时候, 我们只关心三样东西:
1. 类名: 空调
2. 属性: 空调是一体式
3. 行为(功能): 会根据室内温度吹出不同温度的风
利用这样子的类, 我们制造出来的空调(对象), 就会有以上的属性以及功能, 但它们有一些差异, 比如颜色不一样, 样式不一样等等.
讲到这里, 或许还有人有疑问, 会说, 那什么才是类名呢?
其实一般来讲, 名词都是类名, 比如:
1. 公车上有一个孩子在吃着雪糕.
这里有三个类, 分别是公车, 孩子, 雪糕
2. 电脑城里有一家苹果专卖店在卖iPhone和Mac电脑
这里有四个类, 分别是电脑城, 苹果专卖店, iPhone, Mac电脑
3. 一家公司里有60多人, 在办公桌上使用电脑.
这里有四个类, 分别是公司, 人, 办公桌, 电脑
如果给你的不是文字, 而是游戏, 那么我们又要怎么来判断呢? 比如:
比如这张图, 里面有什么类呢? (为了简单来说, 这里省略很多类)
1. 绿色的瓶子类
2. 星星类
3. 水晶球类
4. 障碍物类
5. 怪兽类
6. 萝卜类
7. 路线的云层类
等等
只要是属性相似的东西, 行为相似的东西, 都可以归为一类.
下面我们来设计一个类:
1. 轿车
* 类名: Car
* 属性: wheel, engine, steeringWheel (简单写几个)
* 行为: brake, accelerator, gasUp
有几个注意点:
1. 类名的第一个字母必须大写
2. 不要用下划线" _ "开头
3. 多个英文单词要用驼峰标识
顺便说说, 其实面向对象的核心就是对象, 所以大家要好好努力的去学~~~
好了这次就讲到这里, 下次我们继续~~~