继承知识总结

继承知识总结

继承

  • 定义:所谓继承就是从先辈处得到属性和行为特征。
  • 类的继承,是从新的类从已有类那里得到已有的特性。
  • 继承的好处:解决了代码的重用性和可扩充性。

    继承的方式

    公有继承

    当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问。

  • 基类的公有成员和保护成员被继承到派生类中访问属性不变。仍作为派生类的公有成员。
  • 无论是派生类的成员还是派生类的对线都无法直接访问基类的私有成员。


    运行结果如下:

私有继承

当类的继承方式为私有继承时,基类中的公有成员和保护成员都以私有成员的身份出现在派生类中,而基类的私有成员在派生类不可直接访问。派生类的其他成员可以访问基类的公有和保护成员,但是在类外无法通过派生类的对象访问他们。而对于基类的私有成员,派生类的成员无法直接访问。

如下实验:(可将上述实验中的继承方式变成私有继承)

但是会发生报错如下:

保护继承

在保护继承中,基类的公有成员和保护成员都以保护成员的身份出现在基类中,而基类的私有成员不可直接访问。
在直接派生类中,其访问限制与私有继承的效果是相似的,在派生类内部可以访问基类的公有、保护保护成员,而用过派生类的对象无法访问到基类的成员。但是,一旦出现了连续继承,保护继承和私有继承的效果就会出现明显不同。
再对前面例子进行实验:

原文地址:https://www.cnblogs.com/zrqzzj/p/11666889.html

时间: 2024-10-17 10:07:05

继承知识总结的相关文章

Java继承知识总结

Java中的继承作为Java面向对象三大特性之一,在知识点上而言,还是很多的.现做出如下总结: 1. 继承的概念: 继承在本职上是特殊--一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的 一些属性或方法. 2. 继承中的初始化顺序: 从类的结构上而言,其内部可以有如下四种常见形态:属性(包括类属性和实例属性).方法(包括类方法和实例方法).构造器和 初始化块(包括类的初始化块和实例的初始化块).对于继承中的初始化顺序,又具体分为类的初始化和对象的初

面向对象、原型链、继承知识梳理

单例模式:就是一个对象咯 var person={ name:'xuwen', age:17 }; var person2={ name:'xiaoxu', age:25 } 工厂模式:就是一个函数,解决批量生产问题 1 function fn(name,age){ 2 var obj={}; 3 obj.name=name, 4 obj.age=age, 5 obj.write=function(){ 6 console.log(obj.name); 7 } 8 return obj; 9 }

继承知识汇总

>什么是继承:C++语言为了实现代码复用最重要的手段,允许我们在原有(基类)功能下扩增,形成一个新类,这个新类称为派生类或者子类. >继承格式:class 派生类名(子类名):继承类型  基类名(父类名) 继承类型:基类成员在派生类中可见性(public,protected,private) public继承:基类的非私有成员在子类中访问类型不变. protected继承:基类的非私有成员在子类中访问类型变为protected属性. private继承:基类的非私有成员在子类中访问类型都变为p

(一)关于面向对象----继承

(一)关于面向对象----继承 接触面向对象许久了,对于继承这一块也确实琢磨了一段时间,搜集各种资料和网站,也未能得到使自己满意的,并能快速理解的继承知识,于是对他们归类,并得出自己的总结. 先说说继承是什么吧?也许我们最早接触有关继承的应该是"遗产"??也许电视剧看多了,总有家族为了这玩意儿整的你死我活,确实听看不下去的哈,但是对于咱大JS而言,可就变得十分和蔼,可亲.毕竟没有人来争夺,也不会有任何事故,最多来些许bug等等.废话不多说,进入正题!! 1.扩展原型对象继承:往原型对象

Objective-C的基础语法总结

1.NSLog(@“hello world!”);//打印语句的函数,需要打印的字符串放在@之后. NSLog(@“are %d and %d different?%@”,4,4,@”YES”); 2.方括号有两个作用: 1)访问数组元素 2)用于通知某个对象执行什么,在方括号内第一项是对象,其余部分是需要对象执行的操作.例如,[shape draw]的含义为通知shape执行draw方法. 3.方法调用:类名 方法名:参数 注意:如果方法使用参数,则需要冒号:否则不需要冒号. 4.类的编写:

IOS开发系列--Objective-C之类和对象

概述 前面已经简单介绍过ObjC的基础知识,让大家对ObjC有个大致的印象,今天将重点解释ObjC面向对象的特性.ObjC相对于C语言多了面向对象特性,但是ObjC又没有其他面向对象语言那么多语法特性,ObjC本身对面向对象进行了精简.当然这并不代表今天的内容就会少,今天的内容还是相当多的: 类定义 成员变量 方法和属性 self关键字 构造方法 description方法 继承 类定义 在C#.Java等其他高级语言中定义一个类是相当简单点的,直接一个关键字class加一对大括号基本就完成了,

面型对象之设计模式(浅谈)

这篇文章是根据高程中的相关章节总结的,看了几遍,在这里总结一下笔记.感觉面向对象这一篇,最重要的就是理清思路,理解一下各个设计模式的机理以及优缺点. 在学习之初,首先要明白一点,为何要学习JS的各种设计模式?这个问题要归咎于JS本身了,JS本身并没有"类"的概念(这里不考虑ES6),因此不可能像其他强类型的编程语言一样,通过"类"创建对象.这里只能通过几种设计模式创建. 一.工厂模式 首先,JS提供了Object引用类型,可根据构造函数或者对象字面量创建对象,比如:

数据玩必需

读文献:继承前人知识,思考,选择,前行. 专业知识:python.R.数理统计.数学算法 借鉴: http://blog.csdn.net/chennade1/article/details/52572473 文献即通过一定的方法和手段.运用一定的意义表达和记录体系记录在一定载体的有历史价值和研究价值的知识. 文献是记录.积累.传播和继承知识的最有效手段,是人类社会活动中获取情报的最基本.最主要的来源,也是交流传播情报的最基本手段 原文地址:https://www.cnblogs.com/kou

王颖奇 201771010129《面向对象程序设计(java)》第七章学习总结

实验七 继承附加实验 实验时间 2018-10-11 1.实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: A.仅对本类可见-private B.对所有类可见-public C.对本包和所有子类可见-protected D.对本包可见-默认,,不需要修饰符 (2)掌握Object类的常用API用法: equals方法:检测一个对象是否等于另一个对象(不同于==) hasCode方法:获得散列码(其值为对象的存储地址) toString方法:它用于返回对象值的字符串 (3)掌握Arr