Objective-C 继承与类
创建: 2018/01/20
完成: 2018/01/21
更新: 2018/01/22 标题前增加 [Objective-C]
| 继承的概念 | |||||||||||||||||
| 父类与子类 |
●继承: 继承其他类 ●父类: 被继承的类 子类: 继承的类 ●子类: 可以增加方法与变量,改写已有父类方法 |
||||||||||||||||
|
继承关系 (Class hierarchy) |
不断继承,树结构一样 最顶端是根类 Cocoa环境下的根类是NSObject, 所有类都要继承它!(直接或间接) |
||||||||||||||||
| 使用继承的类定义 | |||||||||||||||||
| 继承关系的声明 |
|
||||||||||||||||
| 类声明与头文件 | 继承时,头文件必须包含被继承类的头文件 | ||||||||||||||||
| 继承与方法的呼出 |
当呼出函数(发送信息)时 ●先找当前类定义里有没有 ●再找父类里面有没有定义,没有就再往上找 |
||||||||||||||||
| 呼出重载前的父类的方法 |
[super 方法名]; |
||||||||||||||||
| 构造函数 |
|
||||||||||||||||
| 继承的例子 | |||||||||||||||||
| # TODO: Supply [补充例子, 46~49] | |||||||||||||||||
| 继承与呼出方法 | |||||||||||||||||
| self | 自己 | ||||||||||||||||
| super |
继承的父类(最靠近的一个) 用super来呼出方法是呼出父类的方法 |
||||||||||||||||
| # TODO: Supply [补充例子, 51~52] | |||||||||||||||||
| 定义方法时的注意 | |||||||||||||||||
| 内部方法 |
●不在@interface里声明,直接在@implementation里定义 ●外部看不懂相关信息,但是仍旧可以呼出该函数 ●被继承时候主要不要不小心重载了(建议在开头附上前缀) @interface Sample : NSObject {
|
||||||||||||||||
|
指定初始化函数 (Designated initializer) |
●可以单独(包含读取父类的指定初始化函数)完成初始化,不需要呼出本类内其他构造函数的函数 ●NSObject的指定初始化函数式init ●子类创设初始化函数时, 要呼出父类的指定构造函数(也就是主构造函数) |
||||||||||||||||
Objective-C 继承与类的更多相关文章
- 窥探Swift之类的继承与类的访问权限
上一篇博客<窥探Swift之别具一格的Struct和Class>的博客可谓是给Swift中的类开了个头.关于类的内容还有很多,今天就来搞一下类中的继承以及类的访问权限.说到类的继承,接触过 ...
- 继承Thread类
Thread类在包java.lang中,从这个类中实例化的对象代表线程,启动一个新线程需要建立Thread实例,Thread类中常用的两个构造方法如下: (1)public Thread(String ...
- C++中虚继承派生类构造函数的正确写法
最近工作中某个软件功能出现了退化,追查下来发现是一个类的成员变量没有被正确的初始化.这个问题与C++存在虚继承的情况下派生类构造函数的写法有关.在此说明一下错误发生的原因,希望对更多的人有帮助. 我们 ...
- C#中是否可以继承String类
C#中是否可以继承String类? 答:String类是sealed类故不可以继承. 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承. 在下面的示例中,类 HoverTree ...
- Java中继承thread类与实现Runnable接口的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 在实际应用中, ...
- Java通过继承thread类与实现Runnable接口实现多线程的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 一.通过继承T ...
- Java中是否可以继承String类,为什么
Java中,是否可以继承String类?为什么? 答案: 不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变. public final class ...
- [Effective JavaScript 笔记]第40条:避免继承标准类
ECMAScript标准库里配备了许多重要的类,如Array,function,以及Date等.扩展这些类生成子类可以方便完成很多工作,但它们的定义具有很多特殊的行为,所以很难写出行为正确的类. Ar ...
- 是否可以继承String类?
是否可以继承String类? String类是final类故不可以继承
- 接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)?
接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)? 1. 接口可以继承接口. 2. 抽像类可以实现(implements)接 ...
随机推荐
- node的express框架,核心第三方模块body-parser 获取我们所有post请求传过来数据
- 安装 body-parser模块- npm install body-parser -S - 调用- let bodyParser=require('body-parser'); - 设置中间件- ...
- [网络流24题] 方格取数问题(cogs 734)
«问题描述:在一个有m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法.«编程任务:对于给定的方格棋 ...
- 剑客决斗(NYOJ 110)
T3.题目110剑客决斗 (http://acm.nyist.net/JudgeOnline/problem.php?pid=110) 描述 在路易十三和红衣主教黎塞留当权的时代,发生了一场决斗.n个 ...
- jquery判断单选按钮radio是否选中的方法
JQuery控制radio选中和不选中方法总结 一.设置选中方法 复制代码代码如下: $("input[name='名字']").get(0).checked=true; $(&q ...
- 2017 CCPC 杭州 HDU6265B 积性函数
题目链接 http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf B题 数论题 h(n)=∑ d|n φ(d) × ...
- [bzoj5343][Ctsc2018]混合果汁_二分答案_主席树
混合果汁 bzoj-5343 Ctsc-2018 题目大意:给定$n$中果汁,第$i$种果汁的美味度为$d_i$,每升价格为$p_i$,每次最多添加$l_i$升.现在要求用这$n$中果汁调配出$m$杯 ...
- 用JQ实现基础的添加,插入,删除功能。
在eclipse里面运行代码即可,如果您是其他应用,请选择对您有帮助的代码即可,如果有写错或不懂的地方请联系QQ:1633420056,谢谢,祝学习进步 <!DOCTYPE html>&l ...
- 激活IDEA 2019.1
First step: 先下载jar包JetbrainsCrack.jar,把它放到你认为合适的文件夹内, 我放在了安装目录C:\Program Files\JetBrains\IntelliJ ID ...
- JSP操作
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/actions.html: JSP操作(Action)使用XML语法结构来控制Servlet引擎的行为.可 ...
- pymongo collection.save 问题
项目中有这样一个需求,把路由器信息存入mongo,DB的结构如下: { router_name: name, router_ip: ip, interfaces: [ {oid:1,name:if1} ...