黑马程序员——OC笔记之类和对象
来源:互联网 发布:阿里云os电视软件下载 编辑:程序博客网 时间:2024/06/05 06:19
------- android培训、java培训、iOS培训、.Net培训、期待与您交流! ----------
在了解类和对象之前,先了解一下什么是面向对象。
面向对象
编程的实质:
将我们的思维转变成计算机能够识别的语言的一个过程。
编程思想:
分为面向过程和面向对象
面向对象是相对于面向过程而言的。
举个例子:
在苹果Appstore上线一个app
面向过程:
(1)先学C和OC语言 (2)构思开发项目 (3)开发app (4)调试Bug (5)上线app
面向对象:
(1)找个苹果开发者 (2)让他开发app (3)上线
因此,面向过程就是将待解决的问题分解成多个步骤亲自参与解决,面向对象就是将待解决的问题交给对象,专业分工。
面向对象和面向过程的区别:
面向过程:
强调的是功能行为,关注的是解决问题需要哪些步骤。
面向对象:
将功能封装进对象,强调具备了功能的对象,关注的是解决问题需要哪些对象。
面向对象的优点:
(1)大幅提高软件项目的成功率
(2)减少维护费
(3)提高可移植性和可靠性
面向对象设计四个主要特征:
抽象性、封装性、多态性和继承性
类和对象
我们从一个个具体的事物中把共同的特征抽取出来,形成一个一般的概念,这就是"归类";如:昆虫、狮子、爬行动物,因为它们都能动所以归类为动物。在演绎的过程中我们又把同类的事物,根据不同的特征分成不同的小类,这就是“分类”;如动物->猫科动物->猫->大花猫等。对于一个具体的类,它有许多具体的个体,我们就管这些个体叫做“对象”。
类:
由3个部分构成
类的名称:类名
类的属性:一组包含数据的属性
类的方法:允许对属性中包含的数据进行操作的方法
对象:
是系统中的基本运行实体
对象就是类类型(class type)的变量
定义了一个类,就可以创建这个类的多个对象
一个类就是具有相同类型的对象的抽象
类的声明和实现
.h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end。
.m:类的实现文件,用于实现.h中声明的方法。类的实现使用关键字@implementation和@end。
属性(实例变量\成员变量):
成员变量的常用作用域有3种:@public 全局都可以访问
@protected 只能在类内部和子类中访问@private 只能在类内部访问
方法:
方法的声明和实现,都必须以 + 或者 - 开头
+ 表示类方法(静态方法)
- 表示对象方法(动态方法)在.h中声明的所有方法作用域都是public类型,不能更改
类的定义分为两部分:
1)类的声明(规定当前类的:类名、属性、行为)
@interface 类名:父类名
{
//定义类的属性
}
//类的行为
@end
2)类的实现(实现具体行为)
@implementation 类名
//行为的具体实现
@end
//车的类的声明@interface Car:NSObject{ //类的属性 int lunzi; //车的轮子 NSString *color;//车的颜色 int speed; //车的速度}-(void)run;//跑的方法@end//类的实现@implementation Car-(void)run{ NSLog("车在以%d的速度奔向悬崖",speed);}@end
创建一个对象并访问成员变量
OC中对象创建
[Car new];
1)向计算机申请内存空间
2)给类中的每一个成员初始化值
3)返回新申请的空间的首地址
指针变量指向新申请的内存空间
理解方式二:
用Car类实例化了一个实例对象,对象的名称是p
Car *p = [Car new];
//创建Car类型的对象 car1Car *car1=[Car new];//创建一个对象 实质还是指针 (用指针间接访问实例变量值)car1->lunzi = 3;car1->speed = 150;car1->color = @"蓝色";//查看车的信息NSLog(@"轮子:%d,速度:%d ,颜色:%@",car1->lunzi,car1->speed,car1->color);
- 黑马程序员——OC笔记之类和对象
- 黑马程序员——OC---面向对象之类和对象
- 黑马程序员—OC学习之类和对象
- 黑马程序员------oc语言学习笔记之类和对象
- 黑马程序员----OC面向对象之类和对象
- 黑马程序员-----OC学习之类与对象
- 黑马程序员——黑苹果的日记(8)——oc基础之类和对象
- 黑马程序员——OC学习之类的声明和实现
- 黑马程序员_OC之类和对象
- 黑马程序员-.NET基础之类和对象
- 黑马程序员——OC——类和对象
- 黑马程序员-OC——类和对象
- 黑马程序员——OC类和对象
- 黑马程序员——OC语言中的类和对象
- 黑马程序员——OC中类和对象
- 黑马程序员——OC-4:类和对象
- 黑马程序员——OC基础:类和对象
- 黑马程序员——OC基础:类和对象
- A. Music(Codeforces Round #315 (Div. 2) 求最大的容纳量)
- 【SpringMVC整合MyBatis】springmvc异常处理-全局异常处理器开发
- 第84讲:Scala中List和ListBuffer设计实现思考
- 安卓拖动条
- HDU 1143 Tri Tiling
- 黑马程序员——OC笔记之类和对象
- 递归查询(知道父ID查子信息or知道子ID找父信息)
- [Win32] 服务程序开发(1)基本概念和服务程序的框架
- 【解决】Android自定义Dialog无法横向填满
- 如何入门一个领域
- git branch和git tag 请问怎么取得git 打好的tag所对应的代码呢?
- 条件传送和条件控制转移
- 根据mac地址+deviceid获取设备唯一编码 获取手机及SIM卡相关信息
- Java中的内部类(开发中常用,为重点)