iOS 面向对象编程思想

1.软件编程的实质

编程的实质就是将人类的思想转换成机器可以理解的语言的过程。

学习的核心问题就是掌握这种思维的方式。

OC是一种面向对象的语言。

2.对象

面向对象是相对面向过程而言。面向对象和面向过程都是一种思想。

例如洗衣服这件事的不同理解。

面向过程的方式去理解:准备衣服已经相关的用品,打开洗衣机,放入衣服和洗衣液,启动洗衣机。

面向 对象的理解方法:买个全自动洗衣机,准备要洗的衣物及用品。或者找个人帮你洗,呵呵。

面向过程:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,

模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。

面向对象:是一种解决软件复用的设计和编程方法。这种方法把软件系统中相近相似的操作逻辑和操作应用数据、状态,

以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。

它的优点是可以大幅度提高软件项目的成功率,减少维护的费用,提高可移植性和可靠性。

面向对象设计四个个主要特征

1、抽象性

2、继承性

3、封装性

4、多态性

二者的区别:

面向过程是把问题中的数据用算法进行描述,强调功能性;

面向对象是把功能封装进对象,强调问题的解决需要哪些对象的使用。

面向对象的编程思想是基于面向过程发展而来的,这是计算机程序设计发展到一定阶段的必然产物。

3.类和对象

class 类:类是具有相似内部状态和运动规律的实体的集合(或统称、抽象)。

对象(object):即指现实世界中各种各样的实体。它可以指具体的事物也可以指抽象的事物。

消息(Message):

消息是指对象间相互联系和相互作用的方式。一个消息主要由5部分组成:发送消息的对象、接收消息的对象、消息传递办法、消息内容(参数)、反馈。

例如施工图纸可以看成是房子的类,汽车设计图可以看成是车的类等,类是事物的一种抽象概况。

一个类可以实例化出多个对象。

类(Class) 一个类由3个部分构成:

类的名称:类名

类的属性:一组包含数据的属性

类的方法:允许对属性中包含的数据进行操作的方法

对象(object):

是系统中的基本运行实体;对象就是类类型(class type)的变量;

定义了一个类,就可以创建这个类的多个对象;一个类就是具有相同类型的对象的抽象;

类的抽象方法:一般可以用到名字抽象法,就是说名词一般都是一类。

小明玩电脑

人类-对象是小明  电脑是一类  玩-是小明的行为

4.类的声明和实现

在OC中类的定义有两部分:类的声明、类的实现。

.h:

类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end。

注意:.h中的方法只是做一个声明,并不对方法进行实现。

也就是说,只是说明一下方法名、方法的返回值类型、方法接收的参数类型而已,并不会编写方法内部的代码。

.m:

类的实现文件,用于实现.h中声明的方法。类的实现使用关键字@implementation和@end。

方法的声明和实现,都必须以 + 或者 -开头:

+  表示类方法(静态方法)

-   表示对象方法(动态方法)

在.h中声明的所有方法作用域都是public类型,不能更改。

成员变量的常用作用域有3种:

@public 全局都可以访问

@protected 只能在类内部和子类中访问

@private 只能在类内部访问

声明一个类   .h:

@interface Student : NSObject{

int age;

NSString * name;

}

-(void)goToClass;

@end

实现一个类   .m:

@implementation

-(void)goToClass{

NSLog(@"Goto class!");

}

@end

5.创建一个对象

用类的方式告诉了计算机我们需要一个什么样的对象,之后我们要在程序中使用这个对象,就必须先创建一个对象

Student *stu = 【Student new】;

只要是用new操作符定义的实体就在会堆内存中开辟一个新的空间。

【Student new】在内存中干三件事:

1.开辟存储空间

2.初始化成员变量

3.返回指针地址

通过 对象->对象成员(注意声明属性为:@public)的方式操作对象中的成员,对其中一个对象的成员进行了修改。和另一个对象没有关系。

6.无参数方法的声明与调用

OC中有类方法和对象方法。

对象方法:

对象方法是减号-开头的;

对象调用对象方法;

对象方法中可以访问当前的对象成员变量;

调用对象方法的格式 【对象名  对象方法名】

类方法:

类方法是加号+开头的;

类方法只能类去调用;

类方法中不可以访问成员变量,因为类在调用类方法的时候并没有分配内存空间,所以无法存储成员变量值;

调用的格式  【类名  类方法名】

类方法的好处和适用场合:

不依赖于对象,执行效率更高;

能用类方法解决的问题,尽量使用类方法;

场合:当方法内部不需要使用到成员变量时,可以改为类方法。

声明一个不带参数的对象方法:

-(void)goToClass;

【stu  goToClass】;

或者

对象名 . 方法名 (点语法)

7.有参数方法的声明与调用

带参数的方法定义:

-(int) sum : (int) a and : (int) b;

-表示这是一个对象方法

int是返回值类型

sum: and: 是方法名。注意冒号也是方法名的一部分。

a b 是参数名

方法的调用:

【c  sum:1 and:2】

c是一个指针变量名 ,给方法传递两个参数。

思考与实现:

定义一个电话类实现一些基础功能。

声明部分:

typedef enum color{White ,Black,colorTHJ} iColor;

@interface iPhone : NSObject{

iColor _color;

float   _size;

}

-(void)aboutMyPhone;

-(void)call : (NSString *) num;

@end

实现部分:

@imlementation

-(void)aboutMyPhone{

NSLog(@"颜色 :%d,大小:%.2f ",_color,_size);

}

-(void)call : (NSString *) num{

NSLog(@"给 %@ 打电话。",num);

}

@end

调用部分:

iPhone *iph = [iPhone new];

[iph aboutMyPhone];

[iph  call:"10086"];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容