--------------------- android培训、java培训、期待与您交流! --------------------
一、面向对象、面向过程的区别(了解)
1、两种常见的编程思想:
面向过程编程、面向对象编程 (OC是面向对象的,C是面向过程的。面向对象和面向过程只是解决问题的两种不同思想)
2、面向过程编程:简称OPP,以事件(任务)为中心,程序围绕事件,列出了事件的每个步骤,一步步完成
3、面向对象编程:简称OOP(Object Oriented Programming),以事物为中心,程序围绕事物展开,完成事件只是一个小任务,三大特性:
1)封装:将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内
2)继承:子类自动共享父类数据结构和方法的机制,这是类之间的一种关系
3)多态:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果
二、类(掌握类的设计)
1、什么是类?
1)类是一组具有相同(特征)属性和行为(功能)的事物的集合(抽象)
2)也就是我们通常所说的“类型”
3)类是抽象的,并不是具体指某一个人,而是泛指某一堆人
2、类的设计(类的设计,只关心3样东西:类型、属性、行为)
事物名称(类名):Person
属性:身高(height) 体重(weight)
行为(功能):跑(run)、打架(fight)
3、代码举例实现定义Car类
类名:Car
属性:轮胎个数(wheeds)速度(speed)
行为:跑run
#import<Foundation/Foundation.h> //因为使用了NSObject所以要导头文件
//完整的写一个函数:函数的声明和定义(实现)
//完整的写一个类:类的声明和定义
//1、类的声明:用来声明对象的属性和行为
@interface Car : NSObject //NSObject:让Car这个类具备创建对象的能力
{ // {}声明对象属性,(实例变量\成员变量,默认初始化为0)
//@public 可以让外部的指针间接访问对象内部的成员变量,写一个即可
@public
int wheels ; //轮胎个数
int speed; //时速
}
@end //声明完毕
//2、类的实现
@implementation Car
@end
int main()
{
//利用类来创建对象
//在OC中,想执行一些行为,就写上一个中括号 [行为执行者 行为名称]
//Car *p 定义一个指针向量p,p将指向的是Car类型的对象
//[Car new] 会创建出一个新的对象,并且会返回新对象本身(新对象的地址)
Car *p = [Car new ]; //执行了Car这个类的new行为来创建新对象
//利用指针对象的属性赋值
p->wheels = 4;
p->speeds = 250;
//打印出
NSLog(@"车子有%d个轮子,时速为:%dKm/h",p->wheels,p->speeds);
}
二、什么是对象?
1、对象就是类的实例,OC利用类来创建对象,对象是类的具体存在
2、世间万物全是对象,在生活中,一只猫、一条狗、一个订单、一张火车票等等都是对象
PS:类其实就是一种数据类型,它的变量就是对象。
三、面向对象封装的好处:
四、类的声明和实现常见的错误:
--------------------- android培训、java培训、期待与您交流! -----------------