zoukankan      html  css  js  c++  java
  • oc基础第一天---类的方法,类与对象

       1. 如何为类定义行为.

          刚刚我们聊的是如何为类定义特征.

          如何定义行为? 行为就事1个功能 也就事1个函数.

           OC中把行为叫做方法. 实际上和函数是一样的 代表1个功能模块.

       2. 为类定义无参数的方法.

         类的方法也分为两个部分.   

         a. 方法的声明

            1). 位置: 写在声明类的大括弧的外边.

            2). 声明的语法:

                - (返回值类型)方法名;

                - (void)sayHi;

                这个方法的名字就叫做sayHi;

         b. 方法的实现.

            1). 位置: 写在类的实现之中.

            2). 实现的语法:

                - (返回值类型)方法名

                {

                    方法体;

                } 

         c.方法的调用.

            定义在类中的方法是属于类的. 而类是无法直接使用的.

            所以,这个定义在类中的方法是无法直接调用的.

            如果非要调的话.就得创建1个类的对象. 

            那么这个对象之中就拥有类模板中的所以的成员  实例变量、方法.

            就可以通过对象来调用这个对象的方法.

            调用语法:

            [对象名 方法名];

            [p1 sayHi];

        3. 带1个参数的方法的声明和实现.

           a. 方法的声明

              1). 位置:

              2). 语法:

            

              - (返回值类型)方法名:(参数类型)参数名称;

              - (void)eat:(NSString *)foodName;

              需要牢牢的记住一点:

               这个方法的名字叫做 eat:

           b. 方法的实现:

              1). 位置.

              2). 语法

                  将声明拷贝过来 去掉分号 加对大括弧 将实现写在其中就可以了.

                  - (返回值类型)方法名:(参数类型)参数名称

                  {

                  }

        

           c. 方法的调用

              1). 要通过对象名来调用.

              2). 调用语法

                  [对象名 方法名:实参];

         4). 带多个参数的方法

             a. 声明:

                1).位置.

                2).语法

                

                - (返回值类型)方法名:(参数类型)参数名称 :(参数类型)参数名称 :(参数类型)参数名称;

                - (int)getSum:(int)num1 :(int)num2;

                这个方法的名字叫做getSum: :

             b. 实现:

                1). 位置.

                2). 语法

                    拷贝方法的声明,去掉分号 加对大括弧 将实现写在其中就可以了.

                - (返回值类型)方法名:(参数类型)参数名称 :(参数类型)参数名称 :(参数类型)参数名称

                {

                     方法的实现.

                }

             c. 调用

                1).必须要通过对象名来调用.

                2).调用的语法

                   [对象名 方法名:实参 :实参 :实参];

     3. 带参数的方法名的规范.

        1). 遵守的原则. 调用的时候看起来是一句连贯的话.

            让调用者知道这个参数的作用是什么.

        2). 规范:

            如果方法只带1个参数. 那么方法名:

            - (返回值类型) 方法名With:(参数类型)参数名称;

            如果有多个参数:

            - (返回值类型) 方法名WithXX:(参数类型)参数名称 andXX:(参数类型)参数名称;

      

      1. 同1个类可以创建N多个对象.

         

         对象与对象之间是没有影响的.1个对象的熟悉的值是根本不会影响另外1个对象的属性的值的.

         同1个类的多个对象之间毫无关系.

         唯一的关系 是他们都是根据同1个类模板创建出来 

         他们具有相同的成员 属性、方法.

         属性的值相互之间是不影响的.

      2. 在方法的实现之中.可以直接访问这个类的成员变量.

         访问的是那1个对象的成员变量呢?

            

         这个方法是通过那1个对象来调用的.那么这个方法中访问的成员变量就事那个对象的.

         谁来调用这个方法,这个方法中的成员变量就事谁的.

      3. 当我们声明1个对象.如果没有为对象的字段赋值.

         这个时候对象的字段是有默认值的.

          如果字段的类型是基本数据类型 那么默认值是0.

          如果字段的类型是OC指针类型. 那么默认值就是nil

         如果字段的类型是C指针类型 那么默认值是NULL

         如何声明、实现类

         如何创建对象

         如何访问对象的成员

         方法的声明和实现

         如何调用方法.

  • 相关阅读:
    排序算法-总览
    MySQL插入大批量测试数据
    【剑指offer】面试的流程
    并发编程-内置锁
    并发编程-使用线程安全类
    规约先行-(二十一)设计规约
    规约先行-(二十)服务器
    [转]web.xml什么时候被加载进内存的
    DOM和BOM的理解
    代理&反向代理
  • 原文地址:https://www.cnblogs.com/qjrz/p/4649895.html
Copyright © 2011-2022 走看看