OC第一课

来源:互联网 发布:手机数据恢复方法 编辑:程序博客网 时间:2024/06/05 22:52

主要内容:面向对象思想

一、OC的历史

       Objective - C简称OC,扩充自C语言的面向对象编程语言

       是苹果电脑OS X和iOS操作系统的主要编程语言

       乔布斯NeXT公司,OC语言库和NEXTSTEP开发环境,NeXT成为MAC电脑、iOS操作系统的基础

       1980年初发明OC语言  -->  1988年NeXT公司使用OC开发  -->   1996年OC成为苹果的主要编程语言

二、OC语言的特点

       1:OC是C语言的超集,允许在OC语言中使用C语言源代码,编译器兼容C语言程序

       2:具备完善的面向对象特性

       3:包含一个运行时系统

       4:类库丰富

三、面向对象编程、(微提:面向过程编程)

       面向对象编程:OOP(Object  Oriented   Programming)

       面向对象的语言:C++、Java、C#

       面向过程编程(以过程为中心):就是通过分析问题,一步一步的编写代码、函数,将问题解决的思想

       面向对象编程(以对象为中心):分解问题组成的对象,通过对象之间的联系,解决问题

       面向对象三大特点:封装、继承、多态

       面向对象具有很好的可扩展性、可重用性

四、类和对象

       类和对象是面向对象的核心

       步骤:1:定义类

                  2:创建对象

                  3:使用对象

        类:具有相同特征和行为的事物的抽象

        对象:是对象的实例(类是对象的类型)(万物皆对象)

        OC中类的定义:

              面向对象编程中使用对象完成程序

        定义类包含两部分:

               接口部分:对外声明类的特征和行为

                      接口标志:@interface ... @end

                      作用:声明类的实例变量和方法,即特征和行为

               实现部分:对内实现行为

                      实现标志:@implementation  ....   @end

                      作用:实现方法,即实现类的行为



                 文件:

                         .h 称为接口文件或头文件

                         .m称为实现文件

                 默认设置:

                         1:使用类名命名文件

                         2:.h 管理类的接口部分,.m 管理类的实现部分

                 文件和类本质没有关系,为了方便管理、实现封装特性

五、创建对象

       创建对象分两步:

              分配内存空间:根据类中声明的实例变量为对象分配内存,将所有实例变量置为默认值0,并返回首地址

              初始化:为对象的实例变量设置初始值

              Person  *p  = [ Person  alloc ] ;  / / 分配内存

              p = [ p  init ] ;                              / / 初始化

              通常这两步操作连起来写:

              Person   *p  =  [ [ Person  alloc ]  init ] ;

       (+)(id)alloc:表示这个方法属于类,只能类执行。id返回值类型,表示任意类型的对象,即创建好的对象

       (-)(id)alloc: 表示这个方法属于对象,只能对象执行。id返回值类型,表示初始化完成的对象

六、使用对象

       指针存储对象的首地址,代指对象。OC中使用指针代指对象,进行操作

       Person   *p =  [ Person  alloc ] ; 先执行 ‘ = ’ 右侧的

               1:[ Person  alloc ] 返回值是对象的首地址,即对象

               2:p是跟对象同类型的指针变量,存储对象首地址代指对象

0 0