+、-方法

首先来说,加号方法和减号方法在调用上是有区别的:加号方法是类方法,调用的时候使用类名进行调用,减号方法是对象方法,调用的时候使用对象名进行调用。

以alloc方法和init方法为例:

People *p1 =[[People alloc]init];

alloc是一个类方法,因此调用的时候采用类名People进行调用,但init实际上是一个对象方法,在这里[People alloc]相当于是对对象进行了实例化,分配了内存空间,因此init相当于是一个对象方法。

一个方法(函数)使用时一般是三个步骤,声明,实现,调用,声明是在类的.h文件中进行的,实现实在类的.m文件进行的。调用则是在其他类的.m文件中进行的,比如说main.m。

其次,加号方法和减号方法是可以互相调用的,减号方法中调用加号方法直接使用类名就可以调用,加号方法中调用减号方法则需要实例化对象。

另外,关于成员变量的调用两者也不相同,对于减号方法,声明一个成员变量可以直接调用,而加号方法想要调用成员变量,只能声明一个静态的成员变量。

#import "People.h"

@implementation People
{
    NSString *_peopleName;
}

static NSString *_peopleName1;

-(void)report
{
    NSLog(@"-号:report");
    //[People report1];
    _peopleName = @"123";
}
+(void)report1
{
    NSLog(@"+号:reprot1");
    [[People alloc] report];
    _peopleName1 = @"张三";
}
@end

最后,对于函数或者方法来说,有以下几点概念:

1.返回值类型:函数名前面的括号内代表的即是返回值类型,如果没有返回值则可以使用(void)

2.参数:函数名冒号之后的部分就是参数,参数包含参数类型和参数名两部分

3.函数名:去掉函数类型,去掉参数类型,去掉参数名,剩下的就是函数名。

因此可以说,函数声明部分由函数(返回值)类型,参数类型,参数名,函数名四个部分组成。

//函数名showWithA: andB:
-(int) showWithA:(int)a andB:(int)b
时间: 2024-12-20 15:39:06

+、-方法的相关文章

《Go学习笔记 . 雨痕》方法

一.定义 方法 是与对象实例绑定的特殊函数. 方法 是面向对象编程的基本概念,用于维护和展示对象的自身状态.对象是内敛的,每个实例都有各自不同的独立特征,以 属性 和 方法 来暴露对外通信接口.普通函数则专注于算法流程,通过接收参数来完成特定逻辑运算,并返回最终结果.换句话说,方法是有关联状态的,而函数通常没有. 方法 和 函数 定义语法区别的在于前者有 前置实例 接收参数(receiver),编译器以此确定方法所属类型.在某些语言里,尽管没有显示定义,但会在调用时隐式传递 this 实例参数.

《Go学习笔记 . 雨痕》类型

一.基本类型 清晰完备的预定义基础类型,使得开发跨平台应用时无须过多考虑符合和长度差异. 类型 长度 默认值 说明 bool 1 false   byte 1 0 uint8 int, uint 4, 8 0 默认整数类型,依据目标平台,32 或 64 位 int8, uint8 1 0 -128 ~ 127,0 ~ 125 int16, uint16 2 0 -32,768 ~ 32,767,0 ~ 65,535 int32, uint32 4 0 -21亿 ~ 21亿,0 ~ 42亿 int

大龙的学习笔记之“虚方法,抽象方法,重写,抽象类,接口”

虚方法:可以重写,也可以不重写,英文名:virtual 抽象方法:必须重写,必须放在抽象类中,英文名:abstract 重写:可以重写三种方法:virtual,abstract,override,英文名:override 抽象类:可以有抽象方法,也可以有非抽象方法,英文名:abstract 接口:和抽象类相似,但是里面只有未实现的方法,英文名:interface 大龙的学习笔记之"虚方法,抽象方法,重写,抽象类,接口",布布扣,bubuko.com

2015 IOS 学习笔记 面向对象 初始化方法 ——蓝懿教育

今天学习了面向对象以及初始化方法,这个在实际应用中比较重要,也比较抽象,所以要具体在实例中才能理解. ————————面向对象有三大特性—————— 一.封装 封装是对象和类概念的主要特性.它是隐藏内部实现,稳定外部接口,可以看作是“包装”.封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 好处:使用更简单变量更安全可以隐藏内部实现细节开发速度加快 OC中一个类可以继承另一个类,被继承的类成为超类(superclass),继承的

2015 IOS 学习笔记 for循环 方法练习 ——蓝懿教育

今天学习了for循环以及方法,内容有些复杂,不过万变不离其宗 在以后的学习中容易掌握,因为涉及范围广阔,使用率高.所以多加练习后会掌握. ————————for循环—————————— for循环概念: for循环编程语言中的语句之一,用于循环执行.for循环是开界的,它的一般形式为: for(; <<span se-mark="1">条件表达式>; ) 语句: 初始化总是一个赋值语句, 它用来给循环控制变量赋初值: 条件表达式是一个关系表达式, 它决定什么时候

lodash学习笔记之Array方法

今天周末在家无聊学习一下lodash. lodash目前的中文资料很少.而且api好像还被墙了.下面说一下lodash的arrary相关的方法. 1. chunk   英 [t???k]    顾名思义,是对数组进行分块的方法 n. 大块:矮胖的人或物 用法: _.chunk(array,number)  根据number对array进行均等的分块,如果array不能被number平分,则会留下一个余下的块. _.chunk(['a','b','c','d'],-1); //当 size<=1的

机器学习-斯坦福:学习笔记4-牛顿方法

牛顿方法 本次课程大纲: 1.  牛顿方法:对Logistic模型进行拟合 2. 指数分布族 3.  广义线性模型(GLM):联系Logistic回归和最小二乘模型 复习: Logistic回归:分类算法 假设给定x以为参数的y=1和y=0的概率: 求对数似然性: 对其求偏导数,应用梯度上升方法,求得: 本次课程介绍的牛顿方法是一种比梯度上升快很多的方法,用于拟合Logistic回归 1. 牛顿方法 假设有函数,需要找使=0的 步骤: 1)       给出一个的初始值 2)       对求导

iOS学习笔记6-GET POST方法

GET 在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,比如http://ww.test.com/login?username=123&pwd=234&type=JSON 注意:由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB POST 发给服务器的参数全部放在请求体中 理论上,POST传递的数据量没有限制(具体还得看服务器的处理能力) 选择GET和POST的建议 (1)如果要传递大量数据,比如文件上传,只能用PO

PHP学习笔记——10.魔术方法

1.定义 是指在某些特定情况下会自动调用的方法 PHP提供了多个魔术方法,都是以__开头的 2.构造方法 __construct 当实例化对象时,会自动调用该方法 可用于在实例化对象时传参,以控制类的属性 class 类名 { private 属性名 = null; public function __construct ($形参) { $this -> 属性名 = $形参; } } $对象 = new 类名('实参'); echo $对象 -> 属性名; 3.析构方法 __destruct

VBA学习笔记之粘贴方法

Option Explicit 'Worksheet.Paste 方法 '将"剪贴板"中的内容粘贴到工作表上. '表达式.Paste(Destination, Link) '表达式 一个代表 Worksheet 对象的变量. Sub 粘贴() Range("B1:B6").Copy Range("c9") '这一句等于下面两句,但下面两句也有用处 Range("B1:B6").Copy '复制区域无公式 Sheet1.Past