zoukankan      html  css  js  c++  java
  • OC2-类的封装性 自定义初始化方法

    /*

     1.访问权限设置,类的封装性,  oc的类中对实例变量提供了三种访问权限,实例变量就是成员变量,

     (1)@public共有权限,任何类都可以访问声明的实例变量,

     (2)@private 私有权限,只有自己可以访问这个实例变量。

     (3)@protected,受保护权限,只有自己和自己子类可以访问的。

     默认是protected 

     所谓的封装 ,是访问权限和访问方法结合实现的。

     2.方法:类方法,实例方法,初始化方法。

      (1)方法的组成:[类型修饰符][方法名]1)‘-’是类型修饰符,修饰的是方法的类型,表示是实例方法 2)‘+’ 是类方法。

     (2) 1)实例方法必须通过创建的对象才能调用,2)类方法 必须且只能是类名调用。[person alloc] alloc 是类方法。

     3.方法的类型;OC 中根据参数和返回值,分四种,OC的方法中,参数是用(:)来标识的,(:)就是参数标识符,

      (:)后面紧跟一对括号,里面写的是参数的类型,括号后是参数的名字。

     4.多参数: oc里面,多参数的方法名是不一样的,(类型修饰符) 方法名: (数据类型1)参数名1  and:(数据类型2)参数名2;

        (1)数据类型用括号套起来了,(2)‘:’是参数的标识符 而不是‘,’(3)多个参数被方法名隔开了。(4)oc允许,在参数前面,活着and后面,加一段名字,达到更好的提示作用。(5)有一个‘:’就是一个参数,‘:’前的单词,可以随便修改

     5.方法名:删除类型表示符,返回值类型,参数类型,参数名,空格,剩下的就是方法名,即字母+‘:’;

     一个类里面,方法名不能重名,

     6.类方法:(1)是以‘+’开头的(2)不能使用实例变量,

     7.设置age这个属性的时候,,命名方法是set+实例变量名,实例变量名首字母大写,取消下划线。

       得到,就是那个实例变量的名字,且忽略下划线。

     8.封装:封装性,将类和对象的实例变量,封闭起来,不允许外界访问,当需要修改读取时,使用setget 函数,进行相应操作。

     9:自定义初始化方法:oc给我们提供了自定义初始化的方法的权限,只要在满足特定的要求下即可,

         (1)实例方法

          (2)instanceType

       (3) 名字必须是initWith开头。 在头文件里声明

       (4)instanceType专用初始化方法:

     10.id 和instanceType区别。

    (1)都是可以代表任意对象类型。

    (2)id可以作为数据类型,声明变量,instanceType不可以

    (3)作为返回值时,作为初始化函数,id返回的是nsobject类型的对象,instancetype是自动识别当前对象类型,替换返回。

     11.oc的消息发送机制。 函数调用即发送消息,从子类找,找不到找父类,直到寻找到,或者报错。

     12.类的综合使用,就是将另外一个类当作一种数据类型使用。

       对象类型的实例变量,可以通过指针来进行赋值。

     13.import 和include [ @class Man;] 标记存在Man 这个类,这样在头文件就不会抱错,把引入文件的操作,放在.m文件里。

     */

  • 相关阅读:
    Hadoop Gateway 部署
    java 命令--备忘
    整理下常用硬件性能参数
    python 脚本备份 mysql 数据库到 OSS
    pip 更换国内源
    记录闭包和立即执行函数
    Django 中文乱码问题&富文本显示
    mysql exceeded the 'max_questions' resource 记录
    sql server 数据字典的妙用
    Sublime Text指南
  • 原文地址:https://www.cnblogs.com/ytmaylover/p/5049177.html
Copyright © 2011-2022 走看看