OC面向对象新概念解释及其面向对象编程

  一.C语言主要是面向过程,OC中开始大量使用面向对象。对于在以后的问题中有了面向对象和面向过程两种思考模式。就五子棋而言,面向过程是具体操作步骤,设计思路就是首先分析问题的步骤:1、开始游戏  ,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘  制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面  每个步骤用分别的函数来实现,问题就解决了;面向对象是玩家,棋盘,规则这三个对象,比较宏观,面向对象的设计则是从另外的思路来解决问题。整个五子棋可以  分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负  责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对  象(玩家对象)负责接受用户输 入,并告知第二类对象(棋盘对象  )棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕  上面显示出这种变化,同时利用第三类对象(规则系统)来对 棋局  进行判定。   面向对象编程(Object-Oriented   Progamming)的首字母缩写为OOP,这是一种常用的  编程技术,最初是为了编写模拟程序而开发的。

  二.面向对象有三个概念类、对象、方法。类定义了事物中的属性和它的行为,对象是类的实例,方法是一个类能做的事情。   1、类(class)是一种表示对象类型的结构体,对象通  过它的类来获取自身的各种信息,尤其是执行每个操作都  需要运行的代码。简单的程序可能仅包括十几个类,中等  复杂的程序会包含几十个类。   2、对象(object)是一直包含值和指向其类的隐藏指针  的结构体。运行中的程序通常都包含成百上千个对象。指  向对象的变量通常不需要首字母大写。3、实例(instance)是“对象”的另一种称呼,比方  说circle对象也可以称为circle类的实例。      4、消息(message)是对象可以执行的操作,用于通知  对象去做什么。5、方法(method)是为响应消息而运行的代码。根据  对象的类,消息可以调用不同的方法。      6、方法调度(method dispatcher)是OC使用的一种  机制,用于推测执行什么方法以响应某个特定的消息。7、接口(interface)是类以对象提供的特性描述。例如  ,Circle类的接口声明了Circle类可以接受draw消息。      8、实现(implementation)是使接口能正常工作的  代码。在我们的实例中,circle对象的实现中含有屏幕上  绘制圆形的代码。向circle对象发送draw消息时,你不会  知道也不必知道函数是如何工作的,只需要知道它能在屏  幕上画个圆就可以了。 

   三.Objective-C 简称 OC   1.C语言的基础上,增加了一层最小的面向对象语法  2.完全兼容C语言  3.可以在OC代码中混入C语言代码,甚至是C++代码  4.关键字以@开头、用于区分C和C++的关键字   • @interface、@implementation、@end、@public   @protected、@private、@selector 、@try  、@catch、@throw、@finally 、@protocol  、@optional、@required、@class、@property  、@synthesize、@dynamic、@self、super、id  、_cmd、__block、__strong、__weak、  5.OC文件以.m文件结尾(.m 代表.message) 

   四.布尔类型   1.许多编程语言都支持布尔类型(Boolean),它指的是可以存储真值和假值的变量类型,当然Objective-C也不例外。  2.C语言中其实拥有bool类型,true和false两个值,Objective-C中也提供此功能为BOOL类型,它具有Yes和NO两个值。

   五.OC语言中得OOP  

 类接口:定义了类的数据和方法,但是不包括方法的实现代码。 类实现:包含了实现类方法的代码。  应用程序:调用类来完成一些实际操作的应用程序。 

  1.  @interface部分(接口部分,后缀名.h)   创建某个特定类的对象之前,Objective-C 编译器需  要一些有关该类的信息,尤其是对象的数据成员及提  供的功能。可以使用@interface指令把这些信息传递  给编译器。    a.中辍符  Objective-c有一种名为中辍符(infix notation)的语法技术。方法的名称及其参数都是合在一起的。  b.带一个参数的方法: [circle setFillColor:redColor];    c.带两个参数的方法:   [textThing setStringValue:@”hello” color:blueColor];   setStringValue:和Color:是参数的名称,是@“hello ”和blueColor是  被传递的参数 


   2.  @implementation部分(实现部分,后缀名.m或.mm)   刚讨论的@interface部分,它用于定义类的公共接口。   通常接口被成为API(application programming   interface 的三个首字母缩写)。而真正是对象能够运行的代码位于@implementation部分中。

   3. 实例化对象   非常关键的过程,在该过程中,我们可以创建生动的  形状对象。   这个过程的专业术语叫做实例化(instantiation)。  实例化对象时,需要分配内存,然后将这些内存初始  化并保存为有用的默认值,这些值不同于通过新分配  的内存获得的随机值。内存分配和初始化工作完成后  ,就意味着新的对象实例已经创建好了。   

 六. 通过一天的学习,从模糊到懵懂,最后到醒悟,慢慢的对OC有了感觉,感受到了OC中的奇妙,以及与C的优越之处。今天最大的收获是OOP,面向对象编程,通过接口部分.h文件和实现部分.m文件,巧妙的调用了函数,这样主函数就会显得清晰明了,在以后的团队项目开发中,可以很好的将成员各自负责的模块组合在一起。    

转载于:https://my.oschina.net/u/2365397/blog/414544

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值