Objective-C基础(面向对象-上)

10 篇文章 0 订阅

 

一、面向对象概念

 

        Objective-C 是一种面向对象语言,而C语言是面向过程的语言,二者在解决问题时的思想不同

          下面以几个例子来说明面向对象和面向过程的区别:

           1.   以用电脑听歌为例

            a)  面向过程:

                  --- > 打开电脑

                  --- > 播放电脑中的歌曲

                  --- > 关闭电脑

 

            b)  面向对象:

                  --- > 开机

                  --- > 播放歌曲

                  --- > 关机

 

            2.  区别分析

              1)面向过程关注的是解决问题需要哪些步骤,而面向对象关注的是解决问题需要哪些对象

              2)两种思想都可以达到解决问题的目的,但是它们解决思路不一样。

            

            3.  现实中面向对象的例子

               --- > 想打电话\发短信   --> 找手机,不用分析电话要怎样才能拨通。

               --- > 去饭店吃饭  --- > 找服务员,不用分析怎么到厨房炒菜。

               --- > 汽车坏了  --- > 找汽车维修工,不用分析修车的步骤。

               --- > 用业内一句有内涵的话说就是 “万物皆对象”。

            4.  常用术语

               --> 面向过程  Procedure Oriented

               --> 面向对象 Objective Oriented , 简称 OO

               --> 面向对象编程  Object Oriented Programming ,简称OOP

 

 

 

二、 类和对象的关系

 

         1.  如何创建对象

             1) 类是很抽象的概念,在解决问题是需要有具体的对象,那么怎么来创建对象呢?

                  以汽车的例子来说:

              a)  首先,我们在造一辆车子时,必须要明确这些车子需要什么零件,在造车子之前要先造好这些零件

              b)  其次,我们要造一辆汽车,必须要明白这辆汽车能做什么,也就是这辆车有什么功能,它能实现什么功

 能,能不能满足生活的需要。然后把这些有相同特性的车抽象为一个类,然后可以根据个类型的车造出一辆具体的

车,通过这个过程,我们就利用一个类创建了一个具体对象。

            2.  OC中的面向对象

             1) OC中的类相当于图纸,用来描述一类事物。也就是说,要创建对象,必须现有类

             2) OC利用类来创建对象,对象是类的具体的存在

             3) 因此,面向对象解决问题应该是先考虑需要设计哪些类,再利用类创建多少个对象

            3.  需要设计哪些类,如何设计类

              1)  类的设计,只关心3样东西:

                 -->  事物名称(类名):  人 (Person)

                 -->  属性:身高(height)、年龄(age)

                 -->  行为(功能):跑(run)、吃东西(eat)   

             2)   类的设计 

                   a. 类名

                    -- > 类名的第一个字母必须大写

                    -- > 不能有下划线

                    -- > 多个英文单词,用驼峰标识

                    b.属性

                    c.行为(功能)

 

 

三、 类的声明和实现

        

        1.以汽车例子来说明类的声明和实现

          

            1) 分析汽车类的属性和功能

                    类名:Car

                    属性:轮胎个数、时速

                    行为:跑

                下面根据上述的描述变编写相应的代码

#import <Foudation/Foundation.h>
//声明对象的属性、行为

@interface Car
{
     int wheels;  // 汽车的轮胎个数
     
     int speed;  //  汽车的时速
}

//声明对象的行为

- (void)run;


@end
@implementation Car
 // 行为的实现
- (void)run
{
     NSLog(@"汽车跑起来了!");
}
@end
int main()
{
    // 创建对象
   Car *c = [Car new];
    //对象C调用方法run
    [c run];
    return 0;
}


           在这段代码中,通过@interface 接口来声明了Car类,在“{}”内声明了轮胎数和时速两个属性,后边声明了run行为。这段代码就是类的声明,概括为:

             @interface 类名

             {

                        成员变量1;

                        成员变量2;

                              .......

               }

              - (方法类型)方法名;   (该方法是无参数类型的声明方式)

             @end

        类的声明就是按照上述格式,成员变量又称实例变量,而且成员变量必须放在括号里面。方法的声明以 ” - “ 开头来说明这是对象的方法。

 

        类的实现:

               @implementation  类名

                 - (方法的类型)方法名

                 {

                       方法的具体实现;

                 }

               @end

           对象在interface接口声明后 ,在implementation内实现。如该Car类在interface中声明了对象的run方法,并在implementation中实现了该对象的行为。

          后面的main函数:

                  在main函数中创建了Car对象,通过Car *c = [Car new]; 创建了对象c,通过对象c就可以调用对象的方法。

           在Objective-C中,想执行一些行为就写上一个中括号[行为执行者 行为名称],利用类来创建对象时是通过类的new行为来创建新对象。该程序定义了一个指针变量c, c指向的是Car类型的对象,[Car new]每次都会创建出一个新的对象,并且会返回新对象本身(新对象的地址)。

       

          2.   关于方法的一些总结

                --> 只要是Objective-C对象的方法,必须以 “ - ” 开头

                --> Objective-C方法中任何数据类型都必须用小括号( )扩住

                --> Objective-C方法中的小括号( ): 扩住数据类型 

                --> 对象方法的声明必须写在@interface和@end之间

                      对象方法的实现必须写在@implementation和@end之间

                --> 对象方法只能由对象来调用

                --> 对象方法归类\对象所有

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文名: Objective-C基础教程 作者: Mark Dalrymple Scott Knaster译者: 高朝勤 杨越 刘霞图书 分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社 书号: ISBN: 9787115208774 发行时间: 2009年08月 地区: 大陆 语言: 简体中文 简介: 内容简介 Objective-C是扩展C的面向对象编程语言,也是iPhone开发用到的主要语言。本书结合理论知识与示例程序,全面而系统地讲述Objective-C编程的相关内容,包括Objective-C在C的基础上引入的特性和Cocoa工具包的功能及其中的框架,以及继承、复合、源文件组织等众多重要的面向对象编程技术。附录中还介绍了如何从其他语言过渡到Objective-C。   本书适合各类开发人员阅读。 内容截图 目录: 第1章 启程.1 1.1 预备知识1 1.2 历史背景1 1.3 内容简介2 1.4 小结3 第2章 对C的扩展4 2.1 最简单的Objective-C程序4 2.2 解构HelloObjective-C程序7 2.2.1 #import7 2.2.2 NSLog()和@"字符串"8 2.3 布尔类型10 2.3.1 BOOL强大的实用功能11 2.3.2 比较13 2.4 小结14 第3章 面向对象编程基础知识15 3.1 间接15 3.1.1 变量与间接16 3.1.2 使用文件名的间接18 3.2 在面向对象的编程中使用间接24 3.2.1 过程式编程24 3.2.2 实现面向对象编程29 3.3 学习有关的术语33 3.4 Objective-C中的OOP34 3.4.1 @interface部分34 3.4.2 @implementation部分38 3.4.3 实例化对象40 3.4.4 扩展Shapes-Object41 3.5 小结43 第4章 继承45 4.1 为何使用继承45 4.2 继承语法48 4.3 继承的工作机制51 4.3.1 方法调度51 4.3.2 实例变量53 4.4 重写方法55 4.5 小结57 第5章 复合58 5.1 什么是复合58 5.1.1 Car程序58 5.1.2 自定义NSLog()59 5.2 存取方法62 5.2.1 设置发动机的属性64 5.2.2 设置轮胎的属性64 5.2.3 跟踪汽车的变化66 5.3 扩展CarParts程序67 5.4 复合还是继承68 5.5 小结69 第6章 源文件组织70 6.1 拆分接口和实现部分70 6.2 拆分Car程序73 6.3 使用跨文件依赖关系75 6.3.1 重新编译须知75 6.3.2 让汽车开动77 6.3.3 导入和继承79 6.4 小结80 第7章 深入了解Xcode82

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值