黑马程序员-OC-继承

黑马程序员-OC语言之继承 ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、继承    1. 继承的好处:        1> 抽取了重复代码        2> 建立了类与类之间的联系   2. 子类可以拥有父类中的所有成员变量和方法 eg: {优快云:CO 阅读详情

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

继承在面向对象的语言中有着广泛而重要的应用,是最基本的知识之一。

下面定义两个类:Animal, Pig. 其中Pig继承自Animal类。
则pig继承了Animal的所有属性和方法,不需要在Pig类中再次定义相同的属性和方法,但Pig可以重写父类Animal的方法。
Animal.h中的代码:

#import <Foundation/Foundation.h>

@interface Animal : NSObject
{

    //下面实例变量定义为protected,也是默认的类型
//    @protected表示只有当前类及子类可以访问
//    @public 表示在任何地方,只要声明类或其子类都可以访问
//    @private 表示除了当前类,其它任何类都不可以访问,但子类可以继承。
    @protected
    int _age;
    int _speed;
    NSString * _name;
}
-(void)run:(int)speed;
-(void)bark:(NSString *)name withAge:(int)age;

//set 方法
-(void)setAge:(int)age;
-(void)setSpeed:(int)speed;
-(void)setName:(NSString *)name;

//get 方法
-(int)age;
-(int)speed;
-(NSString *)name;

@end

Animal.m中的代码:

#import "Animal.h"

@implementation Animal
-(void)run:(int)speed{
    NSLog(@"animal is running, speed is %d.",speed);
}
-(void)bark:(NSString *)name withAge:(int)age{
    NSLog(@"an animal is bark, its name is %@, age is %d.",name,age);
}

//set 方法
-(void)setAge:(int)age{
    _age = age;
}
-(void)setSpeed:(int)speed{
    _speed = speed;
}
-(void)setName:(NSString *)name{
    _name = name;
}

//get 方法
-(int)age{
    return _age;
}
-(int)speed{
    return _speed;
}
-(NSString *)name{
    return _name;
}
@end

pig.h中没有声明新的属性或方法,pig.m中代码:

#import "Pig.h"

@implementation Pig
-(void)run:(int)speed{
    NSLog(@"the cute pig is running, pig's speed is %d.",speed);
}
-(void)bark:(NSString *)name withAge:(int)age{
    NSLog(@"the fat pig is barking, Pig's name is %@, age is %d.",name,age);
}
@end

主函数main()代码:

#import <Foundation/Foundation.h>
#import "Animal.h"
#import "Pig.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Animal *ani = [Animal new];
        Pig *pig = [[Pig alloc]init];
        ani.age = 2;
        ani.speed = 80;
        ani.name = @"hinani";

        pig.age = 3;
        pig.speed = 90;
        pig.name = @"bajie";

        [ani run:ani.speed];
        [ani bark:ani.name withAge:ani.age];

        [pig run:pig.speed];
        [pig bark:pig.name withAge:pig.age];
    }
    return 0;
}

输出结果如下:
输出结果如下:

光模块组成 时钟恢复电路(Clock Data Recovery,简称CDR)是光模块中的关键组成部分,CDR的作用主要是从接收到的信号中提取出数据序列,并且恢复出与数据序列相对应的时钟时序信号,从而还原接收到的具体信息。因为光信号传输至一定距离的时候,通常是长距离传输,其波形会出现一定程度的失真,接收端接收到的信号是一个个长短不一的脉冲信号,这个时候在接收端,我们就无法得到我们需要的数据。所以,这个时候就需要有信号的再生,信号的再生功能为再放大、再整形和再定时,其中的再定时指的就是CDR时钟数据恢复。 阅读详情

相关推荐

Origin2018(汉化版)在使用科学计数法的时候如何将坐标刻度的0.0改成0

文章目录1 问题2 解决方法 1 问题 先看下面这张图,当我使用科学计数法时,纵坐标出现了0.0的字样,这样看起来很不美观。有些期刊还会有要求,不能出现0.0的格式。 图1 那么该怎么将它改成0呢?首先让我们尝试着用Origin自带的属性,看看能不能设置。 2 解决方法 解决方法一: step1: 双击坐标轴,打开坐标轴属性设置。 step2: 在刻度线标签选项中设置左轴的显示 图2 会发现,按照图2的方式改好之后,其它的小数位也全没了,如果但是有些数字就被覆盖了,这显然不是我

qq_40077565的博客 2万+

黑马程序员-OC-继承

继承: 1,基类的私有属性能被继承,但不能被使用 2,OC继承是单继承,也就是一个类只能继承一个父类,不能继承多个父类。 方法重写 方法的重写,从父类继承的方法,可能这个方法并不适合子类,可以在子类中重写父类的方法。 注意事项: 1,子类不能定义和父类同名的变量,但是可以继承父类的变量 2,OC类支持单一继承,不支持多继承。 3,OC支持多层继承

CQYCCCCC的博客 511

在WinXP操作系统上安装Tornado2.2详细教程

使用VxWorks的人都想在自己的电脑中装VxWorks的编译器Tornado,然而Win10操作系统对于Tornado并不友好,根本装不成功。而对于Win7操作系统,之前在实验室一台Win7上装Tornado成功过,并且一直在上面进行vx开发,但是过一段时间在其他Win7上装Tornado时又不能成功,由此说明Tornado对于Win7操作系统对Tornado的兼容也不是很好,所以想要长久使用T...

weixin_43822311的博客 4482

黑马程序员_OC继承与组合

在OC中,当两个或多个类拥有相同

suiyuan78223的专栏 721

通过python下载西门子技术中心文档

本篇文章纯粹记录如何下载通过python下载西门子技术中心文档,所下载文档完全自己学习使用,非商业用途

John_09040211的博客 561

Windows+VSCode+Cline+MCP全流程配置指南

本文提供了一份详细的Windows+VSCode+Cline+MCP全流程配置指南,旨在帮助开发者打造高效的AI辅助编码工作站。文章从环境准备讲起,逐步指导安装VSCode、配置Cline插件、搭建Node.js环境,并重点详解如何通过MCP为Cline集成文件系统和GitHub等工具服务器,实现用自然语言操控开发环境,从而显著提升日常编码与文件管理效率。

weixin_28840143的博客 554

黑马程序员——oc之继承

-------android培训、java培训、iOS培训、.Net培训、期待与您交流! ---------- 一、基本用法   1.设计两个类Bird、Dog   1 // Bird的声明   2 @interface Bird : NSObject   3 {   4 @public   5 int weight;   6 }   7 - (void)eat;

lucky2468的博客 386

工业视觉开发者的福音:用C#玩转VisionMaster算子(非方案版完整教程)

本文为工业视觉开发者提供了一份完整的C#与VisionMaster算子二次开发教程,详细介绍了环境配置、算子调用原理、性能优化技巧及实战案例。通过模板匹配和二维码识别等实例,展示了如何高效集成VisionMaster算子到现有框架中,提升工业自动化视觉检测系统的灵活性和性能。

weixin_29280657的博客 272

黑马程序员——OC—OC中面向的对象特征之继承和派生

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——— OC中面向的对象特征之继承和派生 1、OC中的继承与派生 先看下图: 上图是一个抽象描述的特性继承表     交通工具是一个基类(也称做父类),通常情况下所有交通工具所共同具备的特性是速度与额定载人的数量,但按照生活常规,我们来继续给交通工具来细分类的时候,我们会分

liuming_xing_cool的博客 758

物理信息神经网络(PINNs)在交通运输领域的应用

物理信息神经网络(PINNs)在交通运输领域的应用研究结合了数据驱动与物理模型约束,通过嵌入交通流守恒定律等物理信息,显著提升了交通状态估计与预测的精度。该技术仅需少量观测数据(流量、速度、密度等),即可实现高精度建模,尤其适用于数据稀疏场景。研究重点包括:交通状态估计与预测、参数辨识、交通控制优化等领域,同时面临计算成本高、物理模型依赖性等挑战。未来需解决大规模异构数据处理问题,以进一步推动智能交通系统发展。

qq_49609070的博客 944

IBM X3650 M4做raid阵列

步骤1.开机出现此界面,同时按ctrl键和h键,进入IBM X3650 M4配置raid界面。 【注】不知道是不是因为我的服务器长期闲置,按键ctrl键和h键居然无法进入raid配置界面。这时候,我们可以进bios同样可以进入raid配置界面。如果你按ctrl键和h键就可以直接进入raid配置界面,那么请忽略此段,直接看步骤2 开机,按键F1,选中system setting ,接着选中Adapters and UEFI Drivers ...

ani5565的博客 2万+

黑马程序员——OC基础---继承

------- android培训、java培训、期待与您交流! ---------- 继承OC中非常重要的内容之一,继承在现实生活中指获取父母的一切资源,在OC指子类获得父类的资源(实例变量和方法) 继承的好处是使代码的可重用性 提高,同时还建立了一种类和类的联系。 继承后子类A可以有父类B的方法和属性,如果父类B同时也是其他类C的子类,那么子类A也有C类的方法和属性,付过

abuzzworld的博客 708

经典算法之——解决全排列问题以及详解

回溯”指的是“状态重置”,可以理解为“恢复现场”,是在编码的过程中,是为了节约空间而使用的,而在递归或者深度优先中根据需要的场合来配合回溯法可以进一步对自己的代码进行优化。, n-1, n},方向都为向左。邻位对换法是全排列生成算法中的其中一种,它的换位是双向的,通过保存数字的“方向性”来快速得到下一个排列。最后以 3 开头的全排列为[3, 1, 2], [3, 2, 1];以 1 开头的全排列为[1, 2, 3], [1, 3, 2];以 2 开头的全排列为[2, 1, 3], [2, 3, 1];

m0_68987535的博客 8795

——黑马程序员——OC中的继承

-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------

yhp1095785221的博客 407

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

黑马程序员-OC的继承

OC面向对象—继承 一、基本概念 程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量)。  在这里动物是猫类和狗类的父类,黑猫和白猫类是猫类的子类。 继承的好处: (1)抽取出了重复的代码 (2)建立了类和类之间的联系 继承的缺点:

CRUD程序员的博客 375

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

黑马程序员----OC学习之继承

OC继承方法

NT_Xiaocai的博客 523

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

黑马程序员---oc 封装,继承,多态

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

Q472622179的专栏 854

黑马程序员_OC的继承那点事儿

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------     OC的继承那点事儿:   子类方法和属性的访问过程:如果子类没有,就去访问父类的。父类被继承了还是能照常使用的 父类的静态方法: 画继承结构图,从子类抽取到父类 NSObject的引出:全部OC类的最终父类,包

yzyceo的专栏 620

黑马程序员——OC学习——封装、继承、多态

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1. 封装 在OC中,使用@interface和@implementation来处理类,@interface像暴露在外面的钟表表面,像外界提供展示及接口,@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。 封装的原理:实例变量默认只能被当前类的对象方法访

Susie_CC的博客 585

黑马程序员-OC学习日记四之继承的小结

OC面向对象—继承的小结一、基本概念 就如同字面上的理解一样,继承可以使一个子类像子女继承父母的资源一样,继承来自父类的所有方法和属性继承的好处:(1)抽取出了重复的代码(2)建立了类和类之间的联系继承的缺点:耦合性太强二、OC中的继承@interface Person:NSObject//Person继承了NSObject,获得NSObject类的方法;@end@interface Studen

gufengpl的专栏 386

黑马程序员 -- OC语言 封装 继承 多态

------- android培训、.Net培训、IOS培训、碧空海的技术博客,期待与您交流!---------- 第二讲 封装 继承 多态 A.封装(成员变量/方法的封装) 1.封装是建立在类的基础之上。 a.封装的好处: @interface Student :NSObject { @public Int age; } //提供一个方法给外界设置age的属性值 //我

bikonghai01的专栏 527

黑马程序员--OC继承

继承 创建一个新类时,通常需要定义新类以区别于其他类及现有类。使用继承可以定义一个具有父类所有功能的新类,它继承了父类的这些功能。 继承的好处:   1)创建大量的相似类的时候,可以节省工作量。 2)使用框架中的类,或已经写好的类,继承该类,生成一个派生类,比原类更好用。 继承的语法 @interface Person:NSObject //Perso

wlh0803的博客 326

黑马程序员——OC---继承与多态

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一 继承 通过继承机制,可以利用已有的数据类型 来定义新的数据类型(类)。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。OC中基本上所有类的根类是NSObject。

lost607的专栏 454

黑马程序员_OC面向对象之继承和多态

一、继承

如果你错过了一天,那么你就真的错过了一天! 4621

5、黑马程序员-OC面向对象—继承

OC面向对象—继承 一、基本概念 程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量)。 在这里动物是猫类和狗类的父类,黑猫和白猫类是猫类的子类。 继承的好处: (1)抽取出了重复的代码 (2)建立了类和类之间的联系 (3)子类可以拥有父类中的所有成员变量和方法 注意点 (

zwcshy的专栏 534

黑马程序员--OC之继承

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1、成员访问类型 private:私有成员,不能被外部函数访问(使用),也不能被子类继承; protected:保护成员,不能被外部函数访问,可以被子类继承; public:公有成员,可以被外部函数访问,也可以被子类继承。 OC中,所有的方法(消息),都是公有的。

kkii180的博客 419
上一篇: 黑马程序员-OC-getter & Setter方法
下一篇: 黑马程序员-OC-继承的多态性
IOSway
博客等级 码龄11年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值