对象,实例和方法

看一遍就会用——面向对象:类和对象,实例属性,实例方法,字符串表示 定义一个类使用class关键字,后面跟着类名和一个冒号。类的主体由缩进的代码块组成,通常包含属性和方法的定义。 阅读详情

什么是对象?

     对象就是一个事物。在Objective-C中,把面向对象的程序设计看成是一个事物,而且我们想对这个事物做些工作。这就与过程性语言C语言迥然不同了。在C语言中,通常是先考虑要做什么,然后才关注对象。所以二者之间的思维模式几乎是完全相反的过程。
      Mike在这里唠叨一句,其实面向对象这个来自大陆的翻译,个人觉得不太到位。更喜欢台湾的说法:物件导向。一语中的!对象这个词过度抽象,让很多刚刚入门的新人很难一下深明其意。
     在《 Objective-C 2.0 程序设计》一书中,举了一个生动形象的日常生活中的例子来进一步说明这个抽象的概念。
     假定你有一辆汽车,显然它是一个对象,而且是你有拥有的。你并不是拥有任意一辆汽车,而是一个特定的Car,它是由一家制造厂制造。你的汽车拥有一个车辆识别号码,它唯一标识你的车。
     在面向对象的用语中,你的汽车是汽车的一个实例。如果继续使用术语的话,car就是 类的名称。这个实例就是从该类创建的。因此,每制造一辆新汽车,就会创建汽车类的一个新实例,而且汽车的每个实例都称作一个对象。
     你的汽车可能有各种各样的特性,银白色的或者是黑色的,敞篷的或者是金属顶盖的,等等。除此之外,你还可以对你的汽车进行各种各样的操作。例如驾驶,加油,洗车,维修,等等。上面所列这些操作可以对你的汽车实现,也其他车实现。例如,你的姐姐会驾驶她自己的汽车,加油,洗车,维修。
     看过上面的内容,接下来,我们就可以引申出实例和方法的概念了。类的独特存在就是一个 实例,对实例执行的操作名为 方法。在某些情况下,方法可以应用于类的实例或者类本身。例如,可将洗车作为一个实例,它就是个 实例方法。但如果把“找出一个家制造厂制造了多少款汽车”应用于这个类,那么它将是一个 类方法。
     假设你有两辆使用装配线制作的汽车,看上去它们一模一样。但由于每辆车都由不同的驾驶员驾驶,这就使它们自身获得了独一无二的特性。不过这些特性并不一成不变,一般情况下是处于动态改变的状态。当行驶汽车时,油箱的油逐渐耗尽,汽车越来越脏,轮胎逐渐磨损。
     对对象使用方法可以影响对象的状态。如果方法是“给汽车加油”,执行这个方法之后,汽车的油箱将会加满。这个方法影响了汽车油箱的状态。
     这就引出了一个非常关键的概念。 对象是类的独特表示,每个对象都包含一些通常对该对象来说是私有的信息(数据)。方法提供访问和改变这些数据的手段。
     Objective-C采用特定的语法格式对类和实例使用方法。[ClassOrInstance method]; 在这条语句中,左方括号后要紧跟类的名称或者该类的实例的名称,它后面可以是一个或多个空格,空格后是要执行的方法。最后,使用右方括号和结束分号来终止。请求一个类或实例来执行某个操作时,就是向它发送一个消息,消息的接受者称为 接收者。因此,右另外一种方式可以表示前面所描述的一般格式。[receiver message];
     我们继续用汽车举例,你需要获得一辆新车,取制造厂购买一辆新车 yourCar = [Car new]; 向Car类(消息的接收者)发送一条消息请求它卖给你一辆新车。得到的对象(它代表你的独特汽车)将被存储到变量yourCar中去。从现在开始,可用yourCar引用你的汽车实例,就是你从制造厂买的那辆汽车。
     因为你在制造厂购买了一辆新汽车,所以这个新方法可以叫做制造厂方法,或者类方法。对新车执行的其余操作都将是实例方法,因为它们应用于你的新车。下面是一些可能的实例方法:
     [yourCar drive];      驾驶
     [yourCar wash];      洗车
     [yourCar getGas];   加油
     currentMileage = [yourCar currentOdometer];
     最后一个示例显示的实例方法可返回信息,即当前的行驶里程,这通过里程表(Odometer)来反映出来。我们同时将该信息存储在程序中的currentMileage变量内。

非目标代谢组学(untargeted metabolomics)中常用的方法学考察的方法(四) 最早使用的一种方法,从QC样本的总离子流图中选择具有代表性的离子峰(覆盖不同的保留时间,不同的强度),在对QC样本进行重复检测之后,计算这些离子的保留时间以及峰面积的相对标准偏差(RSD),用以考察分析方法的稳定性以及重复性。所有样品检测完之后,收集所有的QC样本的原始数据进行数据预处理,包括(峰提取,排列,归一化等),经过数据过滤(80%规则)之后,计算剩下的峰的峰面积的RSD值。由于QC样本是 等量混合了所有的被检测样本,理论上QC样本包含了所有样本中的代谢物,因此QC样本理论上会。 阅读详情

相关推荐

HAL库移植实战:解决‘HAL_StatusTypeDef‘未定义报错的3个关键步骤

本文针对STM32开发中从标准库向HAL库移植时常见的'HAL_StatusTypeDef'未定义报错,提供了三个关键解决步骤:首先确保正确包含头文件入口,其次检查并配置模块使能宏,最后注意避免与标准库的同名结构体混用。文章通过实战案例解析了HAL库的模块化设计理念,帮助开发者高效解决混合编程中的编译问题。

book8的博客 209

理解类对象,类属性,实例属性,实例对象,类方法,静态方法,实例方法

python类对象和实例对象的理解

sinat_41268964的博客 274

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...

1. 类对象和实例对象   Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间。类对象具有以下两种操作: 可以通过“类名()”的方式实例化一个对象。 可以通过“类名.类属性”的方式来访问一个类属性。   如果说类时一种概念性的定义,是一种类别,那么实例对象就是对这一类别的具体化、实例化,即实例化对象是类对象实例...

weixin_30412577的博客 374

浅谈天线 - - - GNSS/BT/4G/2.4G

全球定位导航系统,最成熟的就是美利坚,我大中华,俄罗斯,还有就是欧洲的一个(太次不谈)所以我们在项目调试的时候,小尺寸的陶瓷天线上一般兼容2个频段,体积大一点的可以兼容三个频段,采用组合的形式 GPS+BD GPS+GLONASS GLONASS+BD 或者是单频段的定位天线陶瓷PATC陶瓷片:陶瓷片面积越大,介电常数越大,其共振频率越高,接收效果越高,这就是为什么都推荐使用大一点的陶瓷天线的原因银层:陶瓷天线表面的银层可以影响天线的共振频率,理想的GNSS陶瓷片频点准确落在1575.42MH

BLACKHOLE6的博客 1万+

Speedtree学习笔记(案例)——拥有多种材质的植物如何导入使用(以草为例)

注:Speedtree无论保存还是导入模型其存储路径不可有中文。 第一步拆分草的模型 根据所需的材质去拆分(例:假若草的果实,茎秆和叶子是不同的材质那么就需拆分为三份;假若画的全部颜色及材质一样就没有必要去拆分模型) 第二步导入草的模型 在Mesh面板中依次导入草的模型——Do nothing additional right now 第三步扩大草的生长区域范围(可省略)...

L人青的博客 5722

Python-类方法、实例方法、对象方法区别

类: 1.实例方法:方法必须带self入参 2.类方法: 第一个入参必须是类,一般统一叫cls(跟self一个意思) 调用方式: 2.1 可通过:类名.类方法名()调用 2.2 可通过:对象.类方法名()调用 类实例化产生对象后,对象重新定义了公共属性,但是类方法仍使用的是类初始化定义的属性 3.静态方法: 无需带self参数 标志:@staticmeth.

Teamo_mc的博客 1018

终端以太网接入Internet实验

实验过程: 1.布局 2.连接 3.配置Route0和Route1 4.配置RIP 5.static: 6.查看Route0,Route1的路由表: 7.完成PC2和server0 IP地址,子网掩码和默认网关地址的配置: 8.命令行: 9.启动PC0桌面下的PPPoe宽带连接程序: 10.启动PC1桌面下的PPPoe宽带连接程序: 11.验证PC0和PC2的ICMP报文传输过程 12.验证PC1和server0的ICMP报文传输过程 关键命令说明

chaojidagouzi的博客 4083

Java中的类方法与实例方法(对象方法)

类方法:用static修饰的是类方法。 在该类被加载到内存时,就分配了相应的入口地址。类方法不仅可以被创建的任何对象执行,也可以直接通过类名调用。类方法的入口地址直到程序退出才被取消。   实例方法:实例方法也叫做对象方法。 当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,实例方法可以被类创建的任何对象调用执行。方法的入口地址

ManyTomcats 1664

STM32实战开发(121):基于STM32的智能电导率检测系统设计与实现

STM32系列是由意法半导体(STMicroelectronics)推出的32位微控制器。STM32系列基于ARM Cortex-M处理器架构,具有高性能、低功耗、丰富的外设接口和强大的开发支持库。STM32的低功耗特性使其在嵌入式系统中非常受欢迎,特别是在便携式设备和传感器网络中。

2201_76125393的博客 1041

JAVA:Spring Boot3 集成 ShardingSphere 实现数据分库分表

本文介绍了基于Spring Boot和ShardingSphere-JDBC实现分库分表与读写分离的解决方案。针对高并发、大数据量场景下单库单表的性能瓶颈,通过配置ShardingSphere-JDBC实现:1)订单表按user_id和order_id分片到两个库和两张表;2)读写分离,写操作路由至主库,读操作在从库间负载均衡。方案使用Druid连接池优化,支持业务透明,无需修改SQL。

木头 661

实例方法,类方法和对象方法

class A(): num=10 def hehe(self): print("我是实例方法(也叫对象方法)") @classmethod def haha(cls): print("我是类方法,我的第一个参数代表的是类,例如本例是A",cls.num) @staticmethod def heihei(): ...

weixin_45410548的博客 1652

6、探索音乐结构中的统一性:贝多芬《英雄交响曲》第一乐章的深度剖析

本文深入剖析了贝多芬《英雄交响曲》第一乐章的音乐结构,探讨其统一性的来源及表现形式。通过主题与动机、和声与调性、旋律与节奏、织体与动态等多方面的分析,揭示了这部作品在技术层面和情感表达上的卓越成就。

b9c0d的博客 518

Python-类对象方法和类实例对象方法

    自己总结python类中类对象方法和类实例对象方法,其判断的方法是: (1)首先看方法定义是否引用了self,带了self,肯定为实例对象方法。 (2)其次,看是否带参数,如果不带参数,肯定是类对象方法。 (3)除了以上两条外,至少带一个参数的方法定义,且没有classmethod标识的,肯定为实例对象方法(第一个参数实际上是类实例对象self,比较隐含)。请大家分析如下代码:# -*- ...

机器之我心的博客 5443

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

面向对象-类对象和实例对象、类属性和实例属性、类方法、实例方法和静态方法

面向对象-类对象和实例对象、类属性和实例属性、类方法、实例方法和静态方法 1.类对象和实例对象 类对象:用来创建实例对象的对象,它本身也是对象,但只有一个,但能创建多个实例对象(占一个内存空间) 实例对象:被实例化的对象,可以有多个 创建类对象和实例对象的代码如下: class Map(object): # 类对象 # 类属性 country = "中国" # 在类里面和在def外面定义的变量就是类属性 name = "中国地图" def __init__(self,n

H4360wzlqwdddwzwG3hh的博客 556

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java实例对象在堆内存和方法区中存储的内容

堆内存负责存储对象的和String方法区(JDK8+ 称为)存储类的,与具体实例无关,供所有实例共享。publicfinalstatic通过newJVM 根据new的类名,在方法区中查找该类的元数据。若未加载,则触发类加载过程。根据方法区中记录的类结构信息(如对象大小),在堆中划分一块内存空间。填充 Mark Word(初始哈希码、GC 年龄等)和类型指针(指向方法区的类元数据)。根据方法区中字段表的偏移量,将成员变量初始化为默认值(如int初始化为 0,引用初始化为null从方法区中获取。

m0_57914665的博客 2007

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python类对象实例对象_Python-类对象方法和类实例对象方法

自己总结python类中类对象方法和类实例对象方法,其判断的方法是:(1)首先看方法定义是否引用了self,带了self,肯定为实例对象方法。(2)其次,看是否带参数,如果不带参数,肯定是类对象方法。(3)除了以上两条外,至少带一个参数的方法定义,且没有classmethod标识的,肯定为实例对象方法(第一个参数实际上是类实例对象self,比较隐含),其他类对象方法。关于类对象方法怎么使用,大家可...

weixin_29711471的博客 779

类,对象和实例,方法和属性的理解

理解 第一个例子: 类 对象 实例 假设我有两辆车,一辆是本田车,一辆是奥迪车; 1.按生产厂商看,本田车是本田厂生产,奥迪车是奥迪厂生产。 所以从生产厂商看: 本田车和奥迪车是不同的,分别属于本田厂类,奥迪厂类。 对象实例理解: 本田车和奥迪车都是对象!只不过本田车是本田厂创建的对象,奥迪车是奥迪厂创建的对象! 从归属关系上看: 本田车是本田厂创建的一个实例(实际的例子?)奥迪车是奥迪厂创建的一个实例。 我们可以说本田车,奥迪车都是对象,但是在说实例的时候要知道这个实例是那一个类的。 方法 属性 方法和属

m0_47203696的博客 843

类和对象(1) —— 类和对象的概念、类的实例化和初始化、构造方法和this关键词

学习Java中的类和对象对于掌握面向对象编程(OOP)至关重要,类是创建对象的蓝图或模板,而对象是类的实例。学习Java类和对象不仅对于理解面向对象编程至关重要,而且对于提高你的编程技能、解决问题的能力和就业前景都非常有帮助。

2301_80030290的博客 1632

python 类和实例【对象、方法】区分

对象 类对象 就是类的名字 class A: pass 这里定义一个类,A就是类对象 实例对象 类创建的对象 a = A() 此时a就是一个实例对象 属性 类属行 就是类所拥有的属性,它被所有的类对象所共有,在内存中只有一个副本,类似于c++和Java中的静态成员变量.对于公有的类属性,类对象和实例对象都可以访问类属性. class A(object): ...

spnooyseed的博客 380

python中类对象和实例对象都不能直接访问_python方法对象 类和实例变量

通常,方法在绑定后立即被调用:在 MyClass 示例中,这将返回字符串 'hello world'。 但是,立即调用一个方法并不是必须的: x.f 是一个方法对象,它可以被保存起来以后再调用。 例如:while True:print(xf())将继续打印 hello world,直到结束。当一个方法被调用时到底发生了什么? 你可能已经注意到上面调用 x.f() 时并没有带参数,虽然 f() 的函...

weixin_35212962的博客 728

python的类方法和实例方法_python 面向对象中实例方法,静态方法和类方法

python面向对象中有三种方法,分别为实例方法,静态方法和类方法实例方法实例方法是在类中定义的方法,并且方法的第一个参数一般是self,指向对象本身。使用的时候通过实例化的对象调用使用对象名称.方法名例如:class Person:def __init__(self,name,age):self.name=nameself.age=agedef get_name(self):return sel...

weixin_39825105的博客 340

实例化对象和向对象添加方法

[size=medium]最近在学习对象、方法、实例化方法,希望以下的总结可以帮到初学者[/size]。 [size=medium]在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法。Javascript语言不支持"类",但是可以用构造函数的方法,模拟出"类"。 用构造函数模拟"类",在其内部用this关键字指代实例对象:[/siz...

u013690957的专栏 471

实例对象使用属性和方法的规则

实例对象使用属性和方法的规则: 先在实例中查找,如果有则使用自身的属性和方法 如果没有,再去实例对象的 proto 指向的原型对象prototype中查找,找到则使用, 如果找不到,则继续通过实例对象的 proto 进行查找,直到未找到报错 实例对象使用属性和方法层层的搜索,举例说明: function Person(name,sex){ this.name = name; this.sex = sex; // this.eat = function(){ //

AndrewNeo 253

在javascript中添加、修改或者删除对象实例的属性和方法

在javascript中添加、修改或者删除对象实例的属性和方法         在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须重新编译。JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如首先使用Object对象来创建一个user实例        var user

技术专栏 1440

Python类属性和方法的调用、实例对象、类继承等(实例讲解)

Python使用class关键字来定义类,class关键字之后是一个空格,接下来是类的名字,如果派生自其它基类的话则需要把所有父类放到一对圆括号中并使用逗号分隔,然后是一个冒号,最后换行并定义类的内部实现。类名的首字母一般要大写;语句1...语句n需要注意的几点:① 类定义与函数定义(def语句)一样:只有在被执行才会起作用,在定义阶段只是语法检查。② 类是属性和方法的组合,所以语句1可能是内部变量(数据、属性)的定义和赋值语句,也可能是内部方法(函数)的定义语句。

WANGJUNAIJIAO的博客 6563
上一篇: 如何搭建和使用Xcode开发环境
下一篇: Objective-C位运算符
苹果开发者
博客等级 码龄16年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值