//
// main.m
// OC语言学习
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
/*
类的本质其实也是一个对象(类对象)
程序中第一次使用该类的时候被创建,在整个程序中只有一份;
此后每次使用都是这个类对象,它在程序运行时一直存在。
类对象是一种数据结构,存储类的基本信息:类大小、类的版本,继承层次,以及消息与函数的映射表等。
类对象代表类 Clss类型,对象方法属于类对象;
如果消息的接收者是类名,则类名代表类对象。
所有类的实例都是由类对象生成,类对象会把实例的isa的值修改成自己的地址,每个实例的isa都指向该实例的类对象。
*/
//1.如果获取类对象
Person *p1 = [[Person alloc] init];
Person *p2 = [[Person alloc] init];
//一个类在内存中只有一份类对象
Class c1 = [p1 class];
Class c2 = [p2 class];
Class c3 = [Person class];
NSLog(@"c1=%p,c2=%p,c3=%p",c1,c2,c3); //c1=0x100002548,c2=0x100002548,c3=0x100002548
//2.类对象的应用场景
//2.1用于创建实例对象
Person *p3 = [[c2 alloc] init];
p3.age = 30;
NSLog(@"%i",p3.age); //30
//2.2用于调用类方法
//[Person test];
return 0;
}
相关推荐
Halcon-AOI外观缺陷检测系列
Halcon-AOI外观缺陷检测系列
OC-----类和对象
定义类需要分为两个步骤:接口部分:定义该类包含的成员变量和方法。实现部分:为该类的方法提供实现。接口部分:成员变量:用于描述该类的对象的状态数据方法:用于描述该类的行为定义成员变量:类型 成员变量名类型:OC允许的任何数据类型成员变量名:以下划线开头_name;声明方法的语法格式方法类型标识符:+代表类方法,直接用类名调用,-代表实例方法,必须用对象调用。方法返回值类型:可以是OC允许的任何数据类型。方法签名关键字:由方法名、形参标签和冒号组成。
树莓派5安装ROS2小白指南避坑攻略
手把手教你如何在树莓派5上顺利安装ROS2,避开常见问题与陷阱,提升配置效率。针对树莓派5安装ros2过程中的依赖冲突、源配置错误等高频难题提供解决方案,适合新手快速上手。
【OC】OC初体验——类和对象、方法详解、成员变量
该博客概念理论较多,编写了OC面向对象中的类和对象、方法详解、成员变量内容
STM32CUBEMX配置SDRAM
STM32CUBEMX配置SDRAM
基于TL431与MOSFET的高效过压保护电路设计详解
本文详细解析了基于TL431与MOSFET的高效过压保护电路设计。通过TL431精准监测电压,驱动MOSFET作为主开关,实现快速可靠的电源保护。文章涵盖电路原理、参数计算、性能优化及实战调试要点,为电子设备提供了一套经典且成本低廉的过压保护解决方案。
OC类与对象的入门
Objective-C是面向对象的程序设计语言,类与对象是这类语言的一个非常重要的内容,接下来笔者将简单介绍一下OC这门语言的类与对象的部分内容。接口部分:定义该类包含的成员变量和方法实现部分:为该类的方法提供一个实现笔者初步学习了有关OC类与对象的一些知识,现在我们对于之前学过的东西进行一个总结首先我们需要理解面向对象语言的一个特性,就是继承,封装,多态。笔者只学习了封装的一部分内容,之后还会继续学习,类与对象语言中我们的类是第一公民,我们不能单纯的写一个函数,而是要写一个类然后调用方法。
基因家族扩张收缩分析可视化(CAFE5)
CafePlotter 是一个用于可视化 CAFE5 基因家族扩张收缩分析结果的 Python 工具
OC-类对象
OC-类对象 在OC中,类本身就是对象, 他们是类名为Class的特殊类的实例 即你不必做任何事情来实例化类对象,比一期将通过类定义中的信息为你创建他们 OC中的类对象不具有实例变量,即无类变量 但是,在OC中可以使普通的C语言的外部变量来模拟类变量 我们可以这样使用类对象 [SomeClass alloc]; Class类型 类型化为Class
三相电机控制入门:端电压、相电压、线电压到底怎么测?(附实测波形对比)
本文为三相电机控制初学者提供了端电压、相电压和线电压的完整测量指南。通过厘清三者的物理定义与测量方法,详细讲解了如何搭建虚拟星形点电路,并对比分析了方波、SPWM和SVPWM三种主流控制模式下关键电压波形的核心特征与差异,帮助工程师掌握正确的示波器测量与波形解读技巧。
MiniQMT国债逆回购策略Python代码全解析
通过本文的介绍,我们不仅学习了如何在MiniQMT平台上使用Python编写国债逆回购策略,还对策略的逻辑构建、代码实现以及风险管理有了深入的了解。国债逆回购策略是一种适合初学者的低风险投资方式,希望本文能帮助你在量化交易的道路上迈出坚实的一步。
OC学习那些事:第一个OC类
一、创建一个新的OC类: 1.点击File->New File,打开Choose a template for your new file窗口,选择Objective-C class,点击Next按钮。 2.Choose options for your new file窗口,在Class中输入Student类名,Subclass of中输入子类NSObje
领域知识图谱构建的技术流程
因此概念的属性定义十分重要,通常大部分知识库中的概念属性都是采用人工定义等方式生成的,通用知识图谱则可以从开放数据集中获取概念的属性,然后从在线百科中学习实体的属性,并对实体属性进行往上规约从而生成概念的属性。由于百科的分类体系都是经过了百科管理员或是高级编辑人员的校验,其分类系统中的数据可靠性非常高,因此从百科中抽取概念和实体,通常将标题作为实体的候选,而将百科中的分类系统直接作为概念的候选。为了对知识进行合理的组织,更好地描述知识本身与知识之间的关联,需要对知识图谱的模式进行良好的定义。
【OC】OC的实例对象,类对象,元类对象
在 Objective-C 中,一切都是对象 —— 包括“类”本身。它背后的运行机制依赖于一个强大的。是 Objective-C Runtime 的三种核心对象,它们构成了类与对象的运行时结构。
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
OC底层原理之实例、类对象、元类对象
本系列主要是看完MJ的OC底层原理课程所写的总结,希望自己能加深对iOS底层的了解。 实例对象 成员变量的具体值,存放在instance对象 类对象 对象方法、属性、成员变量、协议信息,存放在class对象中 Meta-Class对象 类方法,存放在meta-class对象中 可以通过__class_isMetaClass([NSObject class]) __ 来判断是否M...
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
[OC学习笔记]类对象的结构
本文简要分析了类对象的结构
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
OC 类对象
OC 中类也是一种对象,叫 Class 对象类对象的作用,可以用类对象直接调用类方法 获取类对象,一般直接调用 类的 class 方法就可以 Class c = [Animal class]; // Class 不用加 * 内部已经自动加 * [c test]; // test 是类方法,就是以 + 开头的还可以通过 Class 对象创建对象 Class c = [Animal
占坑:oc中的isa,元类对象,类对象,实例对象
oc中的对象有3种,一种是类对象,这种对象对应于每一个定义了的类,每个类的类对象有且只有一个,是在定义之后系统就会生成并且分配存储空间。 一种是元类对象。元类中存放的是类的类方法,而类中存放的是对象的对象方法。 类对象存的是关于实例对象的信息(变量,实例方法等),而元类对象(metaclass object)中存储的是关于类的信息(类的版本,名字,类方法等)。要注意的是,类对象(class o
OC基础-类对象在内存中的存储方式13
1.内存中的五大区域 栈: 局部变量. 堆:堆区中的字节空间允许程序员手动的申请. BSS段:未初始化的全局变量、静态变量. 数据段:已经初始化的全局变量、静态变量和 常量数据. 代码段:存储代码的. 内存五大区域链接 2.OC类在内存中的存储 类
OC重新开始(四)类对象
OC中的类(三) 类对象 OC中类对象也叫factory。类对象类似于类的实例对象可以用id类型表示,而有一个专门的Class类来表示类对象,Class和id都是指针类型。 实例对象的初始化 [[类名 alloc]init]; 在收到alloc消息之后即可完成对象所需要的储存空间的分配,init之后生成实例对象。 类对象只有一个,类的实例对象有任意个。 类对象的初始化 在NSOBject中有一个...
第04天OC语言(17):获取类对象及类对象应用场景
不要等到明天,明天太遥远,今天就行动。 #####须读:看完该文章你能做什么? 使用Class关键字和Class一些应用的场景,提高代码的复用性 #####学习前:你必须会什么? 什么是类,什么是类方法. #####一、本章笔记 类对象的应用场景 用于创建实例对象 ...
OC的类对象 与 类的加载方法和初始化方法
1.类也是个对象 类是一个对象是Class类型的对象简称类对象 Class类型的定义 // 一个任意的类型,表示一个Objective-C类 typedef struct objc_class *Class; 类名就代表着类对象,每个类只有一个类对象 获取类对象 // 获取类对象两种方式person1 和 person2 Class person1 =
OC类与对象上半章节较为重要的部分
分享会的时候对于isKindOfClass和isMemberOfClass两者的区别不了解,所以写了这篇博客来记录上次的遗漏点。
OC对象的本质(下)
1、Instance实例对象内部存贮的是什么? (1)、isa 指针 (2)、其他成员变量 2、类对象在内存中存储的信息主要包含: (1)、isa指针 (2)、superClass指针 (3)、类的属性信息(@property)、类的对象方法信息(instance medth)也就是实例方法 (4)、类的协议信息(@protocol)、类的成员变量信息(ivar)(比...
OC 类对象和类加载
//------------------------Persion类----------------------------// 1 #import "Person.h" 2 3 @implementation Person 4 + (void)test 5 { 6 NSLog(@"调用了test方法"); 7 } 8 9 10 // 当程序启动...
OC类对象本质以及消息发送原理
2019独角兽企业重金招聘Python工程师标准>>> ...
1664



被折叠的 条评论
为什么被折叠?



