zoukankan      html  css  js  c++  java
  • 类、对象和方法

    一)对象的初始化

    alloc 和init方法都是继承自NSObject,不需重写。

    如果需要在类对象初始化时做一些工作,可以重载init方法达到目的。

    self=[super init];

    if(self){

    //初始化代码

    为什么会有这句?这一句方法首先会调用父类的初始化方法。执行父类的初始化方法,使得继承的实例变量能够正常初始化。必须将父类的init方法的执行结果赋值给self,因为初始化过程改变了对象在内存中的位置(意味着引用将要改变)。这句话我也不懂。。。。。。

    如果父类的初始化过程成功,返回的值将是非空。

     二)工厂方法 ,也叫类方法,顾名思义,也就是类的方法。对于类的实例,就具有了实例方法。实例方法总是可以直接访问他的实例变量的,然而,类方法则不能,因为他只处理本身,并不处理类实例。

    三)为什么声明的对象都是*开头?表明这只是一个引用(或指针);变量实际上并不存储对象的值,而是存储了一个引用(其实是内存地址),表明对象数据在内存中的位置。

    声明的对象,他的值是未定义的,也没有默认值。

    实例方法总是可以直接访问他的实例变量的,然而从别的位置是不能够直接访问这些实例变量,需要通过方法,这就是所谓的数据封装。

    这也是属性这个关键字的简便之处。

  • 相关阅读:
    求一个字符串中连续出现次数最多的子串
    LintCode: Longest Common Substring
    LintCode: O(1) Check Power of 2
    LintCode: Fizz Buzz
    LintCode: 3 Sum
    LintCode: Two Sum
    LintCode: Sort Colors
    LintCode: Median of two Sorted Arrays
    LintCode: Search A 2d Matrix
    Lintcode: Sqrt(X)
  • 原文地址:https://www.cnblogs.com/changeUniversal/p/4662774.html
Copyright © 2011-2022 走看看