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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值