zoukankan      html  css  js  c++  java
  • oc-21-class对象

    /**
     什么是类对象(Class对象)?
     类在内存当中也是以对象形式进行存储的.
     
     1.类对象的类型:Class类型
     
     2.如何创建类对象:
     1)Class 类对象名 = [类名 class];
    
     2)类名 *对象名 = [类名 new];
       Class 类对象名 = [对象名 class];
     
     3)只要用1个类创建的多个类对象,地址都一样.
     
     3.如何使用类对象
     1)用类对象创建对象.
     2)用类对象调用类方法
     3)用类对象调用对象方法.---不能调用对象方法
     4)访问成员变量  -- 不能访问成员变量.
     
     
     */
    #import <Foundation/Foundation.h>
    #import "Person.h"
    #import "Student.h"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            // 1.获取类对象
            Class c = [Person class];
            // 2.调用类方法
            [c test];
        }
        return 0;
    }
    // 用类对象创建对象,访问方法
    void test2(){
        // 1.获取类对象
        Class c = [Person class];
        // 2.用类对象创建对象
        Person *p = [c new];
        // 3.访问方法
        [p test];//对象方法
    }
    // 类对象可以创建对象
    void test1(){
        // 1.获取类对象
        Class c = [Person class];
        // 2.用类对象创建对象
        Person *p = [c new];
        // 3.调用方法
        [p test];
    }
    
    // 如何得到类对象
    void test(){
        // 1.获取类对象的方法
        Person *p = [Person new];
        Class c = [p class];
        // 2.获取类对象的方式
        Class c1 = [Person class];
        NSLog(@"c:%p,c1:%p",c,c1);//c,c1的地址是一样的,都就是Person类。
    }
  • 相关阅读:
    ChromeDriver下载
    LR基础理论详解
    python中assert详解
    python定义类()中写object和不写的区别
    python list初始化技巧
    python list中append()方法和extend()方法区别
    python生成器(generator)、迭代器(iterator)、可迭代对象(iterable)区别
    使用__slots__节省python内存技巧
    lambda表达式详解
    python处理数据问题详解
  • 原文地址:https://www.cnblogs.com/yaowen/p/5310748.html
Copyright © 2011-2022 走看看