重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

第一讲、类和对象-------(2)-创新互联

一、课程回顾

在铁力等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站建设 网站设计制作按需定制,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸网站建设,铁力网站建设费用合理。

1、面向对象的语言

     面向对象编程:以事物为中心

     面向过程编程:以事件为中心

2、类和对象

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

     对象是类的实例,类是对象的抽象

3、定义类

     接口部分:声明类的特征(实例变量)和行为(方法)

     实现部分:实现方法

4、创建对象

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

     alloc 类方法 只有类可以调用

     作用:在堆区为对象分配存储空间;将存储空间清空,所有实例变量设置为0;返回对象存储空间的首地址。

      init 实例方法  只有对象可以调用

      作用:为实例变量设置

      p1本质:指向Person类型对象的指针

      当某个对象类型的指针指向创建的对象时,将p代指为对象

5、对象调用方法

    [p sayHi];

    Person * p2 = nil;

    p2不能代指为对象,是空指针

    在OC中,对nil做任何操作都是无效的

二、实例变量操作

      在类的外部(定义类以外的部分)调用public修饰的实例变量时,使用->

1、实例变量赋值

      p->_name = @"遥星梦";

      p->_age = 18;

2、读取实例变量的值

     NSLog(@name = %@, age = %d",  p->_name, p->_age);

     输出:name = 遥星梦, age = 18

3、重写init初始化

     1)声明部分-----Person.h

     - (Person *)init;

     - (id)init;  - (instancetype)init;----通用写法

     id通用指针类型,只能指向对象类型

     写法:id   Teacher *  Person *    不能表示int *

      2)实现部分------Person.m

       - (id)init

       {
             _age = 18;

            return self;

            // self表示自己   初始化方法必须返回self

        }

4、实例方法

    1)声明部分------Person.h

     - (void)introduce;

    2)实现部分------Person.m

    - (void)introduce

   {

          NSLog(@"我叫%@", _name);

          //  所有创建的Person对象,都可以调用属于这个对象的实例方法

          //  实例方法中,可以直接使用实例对象

          //  哪个对象调用了实例方法,那么实例变量中的值是当前这个对象的值

    }

   3)调用-------main.m

    [p introduce];

    输出:我叫遥星梦

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网页题目:第一讲、类和对象-------(2)-创新互联
文章转载:http://cqcxhl.cn/article/dhdjje.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP