标签:
【面向过程的语言】
1、CPU是接收消息的单位,它完成了数据的所有操作(存储和运算)
2、是数学逻辑的映射
【面向对象的语言】
1、对象是接收消息的单位,一个对象完成某个功能,多个对象协同工作,
功能的模块化程度很高。
2、是生活逻辑的映射
Objective-C,简称OC
1、OC完全兼容C
2、OC是C的扩展,是C的超集
3、扩展了面向对象支持
难点:协议、代理、内存管理
一、认识类(Class)和对象(Object)
1、从生活逻辑上
类 对象
人 习大大 李总理
猫 加菲猫 Tom
电脑 我的电脑 你的电脑
2、从封装的角度
【结构体】是对存储数据的结构进行封装
【函数】是对处理数据的方法进行封装
【类】是对存储数据的结构进行封装,同时对处理数据的方法进行封装
3、从编程语言的角度
类:是一种自定义的数据类型
对象:是某个类类型的变量
4、从官方定义
类:具有相同特性(属性和行为)的事物的抽象
对象:某个类的具象
二、类的使用
Foundation.h几乎包含所有常用的C的头文件
#import 导入头文件,自动过滤重复包含问题
1、定义
@interface JYClass : NSObject
//:表示继承关系(子类:父类)
//NSObject是一个官方的类,是所有类的直接或间接的父类
//只有它没有父类,它也叫根类
{
//这里声明成员变量,实例变量,对象属性,OC中也叫字段
int _a;
}
//在这里声明成员方法,成员函数,OC中也叫消息
//打印_a的值
//void printA;
- (void)printA;
@end
//2、实现部分
@implementation JYClass
- (void)printA
{
NSLog(@"_a = %d", _a);
}
@end
2、方法调用
[对象指针/接收者 方法/消息]
三、其它语法
1、类的创建
a、工程栏
b、导航栏
command + control + ??/??:切换一个类的接口和实现
xcode中的工程目录不同于磁盘目录
2、构造方法
作用:用于对象初始化
1、在创建对象自动调用的方法
2、OC中凡是以init开头的方法都是构造方法,需要手动调用
self:指向当前对象的指针,谁调用该方法,self就表示谁
super:是调用父类方法的关键字
[[JYHuman alloc] init] <==> [JYHuman new]
练习题:
1、定义一个数学类,里面有两个成员变量a,b,
方法有变量的设置和加减乘除。
2、定义一个立方体,方法有长宽高的设置,体积的计算
3、小明手里有两张牌,左手♠?A,右手??K,问两手交换后,
小明的手中分别是什么?
4、创建一辆汽车,属性有速度,
编写关于速度的构造方法和set方法
5、创建一条公路,属性有长度,
编写关于长度的构造方法和set方法
6、创建一个明信片类,
属性:姓名,单位,电话号码,qq
方法:构造方法,设置姓名、单位、电话号码、qq,
相关信息打印。
标签:
原文地址:http://www.cnblogs.com/rainwz/p/4589008.html