关键词:
构造方法
在OC中init开头的方法, 我们称之为构造方法
构造方法的用途
构造方法的用途: 用于初始化一个对象, 让某个对象一创建出来就拥有某些属性和值
如何实现构造方法
重写init方法, 在init方法中初始化成员变量
重写init方法
重写init方法必须按照苹果规定的格式重写, 如果不按照规定会引发一些未知的错误
必须先初始化父类, 再初始化子类
必须判断父类是否初始化成功, 只有父类初始化成功才能继续初始化子类
返回当前对象的地址
- (instancetype)init
{
// 1.初始化父类
// 只要父类初始化成功 , 就会返回对应的地址, 如果初始化失败, 就会返回nil
// nil == 0 == 假 == 没有初始化成功
self = [super init];
// 2.判断父类是否初始化成功
if (self != nil) {
// 3.初始化子类
// 设置属性的值
_age = 6;
}
// 4.返回地址
returnself;
}
注意子类构造方法中一定要使用super调用父类的方法
自定义构造方法
自定义构造方法就是自定义一个init方法
有时候我们需要在创建某个对象的时候,让对象的某些属性就具有值,这时候就需要传入一些参数给对象的属性,为了满足这个需求,就需要自定义构造方法
自定义构造方法的格式
一定是对象方法
一定返回id/instancetype
方法名称一定以init开头
- (instancetype)initWithAge:(int)age;
自定义构造方法在继承中的表现
自己的事情自己做,属于谁的属性就由谁来进行操作
父类的属性交给父类的方法来处理,子类的方法处理子类自己独有的属性
自定义构造方法在子类,如何调用的父类构造方法的
子类在重写自定构造方法时,一般使用super调用父类的构造方法,先让父类将父类的属性进行初始化
- (instancetype)initWithAge:(int)age andName:(NSString *)name andNo:(int)no
{
if (self = [super initWithAge:age andName:name]) {
_no = no;
}
returnself;
}
java基本概念
...,成员变量,类变量。简单理解三个变量就是:在方法、构造方法或者语句块中定义的变量被称为局部变量。方法结束后会自动销毁成员变量是定义在类中,方法体之外的变量。成员变量可以被类中方法、构造方法和特定类 查看详情
09多线程--基本概念
...。将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。 查看详情
java——面向对象——方法的概念和语法
...向对象——方法一、概念二、基本语法语法1-无参方法的构造:语法2-有参方法的构造:语法3-无返回值方法的构造:语法4-有返回值方法的构造:语法5-方法的重载:语法6-定义任意个数参数的方法:一、概... 查看详情
(王道408考研数据结构)第五章树-第四节3:哈夫曼树基本概念构造和哈夫曼编码
...本概念(1)相关术语(2)哈夫曼树定义二:哈夫曼树的构造三:哈夫曼树特点四:哈夫曼树典型应用-哈夫曼编码在计算机中,文件压缩一项非常重要的技术,它除了可以减少文档在磁盘上的空间外,还可以便于网络传输所谓压... 查看详情
java语言学习总结扩展篇包装类的概念及其使用(代码片段)
...类型的数据,包装到包装类中(基本类型的数据->包装类)构造方法: Integer(intvolue)构造一一个新分配的Integer对象,它表示指定的int值。 Integer(Strings)构造一-个新分配的Integer对象,它表示String参数所指示的int值。 传递的... 查看详情
反射与类加载之反射基本概念与class
...内容来阐述反射与类加载:[三种获取Class对象的方式][获取构造器实例化对象与属性信息][Android配置打包签名信息的两种方法][Hook动态注入代码]一、反射基本概念与三种获取Class对象的方式Class类是一切的反射根源。Class类表示什... 查看详情
《一》对象和封装(代码片段)
...出名词,确定方法剔除与业务无关的属性和方法 三、构造方法及其重载3.1构造语法:访问修饰符构造方法名()//初始化代码 3.2方法重载的规则:方法名相同参数 查看详情
散列的基本概念构造散列函数以及解决冲突
散列定义 散列表(Hash Table,也称哈希表),是一种根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度... 查看详情
Java 从基本构造函数调用基本方法
】Java从基本构造函数调用基本方法【英文标题】:Javacallbasemethodfrombaseconstructor【发布时间】:2011-08-2819:44:33【问题描述】:如何从Super::Super()调用Super::printThree?在下面的示例中,我改为调用Test::printThree。classSuperSuper()printThree()... 查看详情
uml的概念模型
...语言的概念模型,这要求学习建模的3个要素:UML的基本构造块、支配这些构造块如何放在一起的规则和一些运用于整个UML的公共机制。如果掌握了这些思想,就能够读懂UML模型,并能建立一些基本模型。当有了较丰富的应用UML... 查看详情
gstreamer基础教程02-基本概念(代码片段)
...的控制pipline中的element,我们需要单独创建element,然后再构造pipeline,下面将介绍GStreamer的一些基本概念并展示pipeline的另一种构造方式。 基本概念Element我们知道element是构建GStreame 查看详情
stl库之集合基本使用方法
...头引入这个头文件,并且同样加上一句usingnamespacestd二、构造一个集合C++中直接构造一个set的语句是:set<int>a.这样我们就定义了一个名为a的、储存数据类型为int的集合(与vector类似 查看详情
计算机程序的思维逻辑(16)-继承的细节
...有一些相关的细节,本节就来探讨这些细节,具体包括:构造方法重名与静态绑定重载和重写父子类型转换继承访问权限(protected)可见性重写防止继承(final)下面我们逐个来解释。构造方法super上节我们说过,子类可以通过sup 查看详情
java学习(代码片段)
类(1)创建类后没有手动添加构造方法时,系统默认有一个没有参数的构造方法.(2)当给类手动添加构造方法后,默认无参的构造方法将不存在,需要我们手动添加一个无参的构造方法.堆栈相关知识参考视频Java八种基本数据类型又可以... 查看详情
js面向对象的基本概念和基本使用方法
js面向对象的基本概念和基本使用方法->js是不是一个面向对象的语言?不是:与传统面向对象的理论语言有矛盾。C#,Java。是:js里面到处都是对象,数组,时间,正则…和DOM。也可以像传统面向对象的语言那样用new的方式创建... 查看详情
构造方法
*java中没有构造函数的概念构造方法是创建对象时调用的方法,不要理解为构造方法就是创建对象的方法,因为构造方法主要是用来加载和初始化类的一些资源,创建一个对象并不完全靠构造方法完成,构造方法主要进行创建对... 查看详情
class的基本语法(代码片段)
...的由来JavaScript语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。functionPoint(x,y)this.x=x;this.y=y;Point.prototype.toString=function()return‘(‘+this.x+‘,‘+this.y+‘)‘;;varp=newPoint(1,2);上面这种写法跟传统的面向对象语言(... 查看详情
数据结构6.查找(代码片段)
...概念6.4散列(Hash)表6.4.1散列表的基本概念6.4.2散列函数的构造方法6.4.3处理冲突的方法1.开放定址 查看详情