美文网首页
01.类和对象

01.类和对象

作者: 心扬 | 来源:发表于2018-06-19 17:32 被阅读0次

主函数详解

int main(int argc, const char * argv[]) {
    
    return 0;
}
  • argc 参数个数

  • argv 指针类型的数组,数组长度就是第一个参数

类的声明和实现

  • 类的声明
    @interface 开头,以@end结束 ,中间为类名

    类名首字母必须为大写

@interface User

@end

声明一个类的目的,是为了告诉系统,这个类中有哪些属性和行为

  • 类的属性

类的属性声明在类名和@end之间的大括号

在声明类的属性时,建议在所有的属性名之前加上下划线_

@interface User
{
    char * _name;
    int _age;
}
@end
  • 类的实现
    @implementation 开头,以@end结束 ,中间为类名,这个类名必须跟声明的类名一致
@implementation User

@end

创建对象

如果只是按照上述的的方式对类进行声明和实现,是无法创建对象的,而我们声明一个类的目的,就是为了创建对象,想要让我们声明和实现的类具有创建对象的能力,需要将类的声明进行如下的修改

  • 继承NSObject
@interface User:NSObject
{
    char * _name;
    int _age;
}
@end
  • 在主函数中创建User类的对象
    想要通过一个类创建一个对象,必须要给类发送一条消息,发送消息的方式为 [类名称\对象名称 方法名称]
[User new];

如代码所示,我们要创建一个User类的对象,只需要给User类发送一个new的消息即可

所谓的发送消息,就是调用方法,给User发送new消息,就是调用User类的new方法

在声明User类是,要继承NSObject,就是为了让User类具备创建对象的能力,即让User类可以调用new方法

创建对象详解

在为User调用new方法创建对象时,系统内部会做出如下的事情

  1. User类创建出来的对象分配存储空间
  2. 初始化User类创建出来的对象中的属性
  3. 返回User类创建出来的对象对应的地址
  • 使用变量,接收User类调用new方法的返回值

创建对象后,new方法返回的是对象对应的地址,而保存地址,就只能用指针

User * user = [User new];

如代码所示,我们通过一个User类型的指针接收了一个User类型的对象,即用User类型的指针保存了User对象的地址,则可以称User类型的指针变量userUser对象

使用一个指针保存了一个对象的地址,就称这个指针为某个类型的对象

  • OC中,User类其实是一个结构体,那么user这个指针就是指向了一个结构体

  • 让类的属性公开访问

@interface User : NSObject
{
    @public
    char * _name;
    int _age;
}
@end
  • 使用对象访问属性

既然类是一个结构体,那么我们就可以用指向结构体的指针来操作对象中的属性

//指针指向的方式
user->_age = 10;
user->_name = "zhangsan";
//结构体变量的方式
(*user)._age=10;
(*user)._name = "zhagnsan";
  • 输出
//C语言方式
printf("age=%d,name=%s\n",user->_age,user->_name);
//OC方式
NSLog(@"age=%d,name=%s",user->_age,user->_name);

相关文章

  • 01.类和对象

    主函数详解 argc 参数个数 argv 指针类型的数组,数组长度就是第一个参数 类的声明和实现 类的声明以@i...

  • python 类和对象

    类和对象 目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的...

  • 面相对象-02类和对象

    类和对象 目标 ●类和对象的概念●类和对象的关系●类的设计 01.类和对象的概念 类和对象是面向对象编程的两个核心...

  • 13.Python类和对象

    目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核...

  • 12.Python类和对象

    目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核...

  • 2018-09-08 Day14 类和对象1

    01.类和对象的介绍: 1.理论定义:类:就是拥有相同功能和相同属性的对象的集合(类是抽象的)对象:类的实例(对象...

  • 类和对象

    01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核心概念 1.1 类 类 是对一群具有 相同 特征...

  • python 类属性和类方法

    目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 —— 实例 使用面相对象开发,...

  • 类属性、类方法、静态方法

    目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 —— 实例 使用面相对象开发,...

  • 对象、类对象和元类对象

    http://www.tuicool.com/articles/mmyuUr http://blog.csdn.n...

网友评论

      本文标题:01.类和对象

      本文链接:https://www.haomeiwen.com/subject/inqzeftx.html