========
为了实现更高效的开发,人们思考类和类之间的复用,这就是继承的产生。允许程序员在保持原有类特性的基础上拓展,增加功能,这样产生的类是派生类,继承是类设计层次的复用。
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include <stdlib.h>
#include
using namespace std;
class Person
{
public:
void Print()
{
cout << "name:" << _name << endl;
cout << "age:" << _age << endl;
}
protected:
string _name = "peter"; // 姓名
int _age = 18; // 年龄
};
class Student : public Person
{
protected:
int _stuid; // 学号
};
class Teacher : public Person
{
protected:
int _jobid; // 工号
};
int main()
{
Student s;
Teacher t;
s.Print();
t.Print();
system("pause");
return 0;
}
我们通过上面代码可以知道,student和teacher是继承了person的成员变量和函数接口,也因此尽管它们每个都新增了成员变量, 打印出的也只有继承而来的成员变量,因为接口只是打印原来的成员变量。
我们来看一下继承的格式,上边person是父类,也叫做基类。student是子类,也叫做派生类。
继承关系和访问限制符都有三类,public,protected,private。对应着派生类和基类之间的对应关系
绝大多数情况我们只用public继承,请熟悉。
基类和派生类对象赋值转换
============
1.派生类对象 可以赋值给 基类的对象 / 基类的指针 / 基类的引用。这里有个形象的说法叫切片或者切割。寓意把派生类中父类那部分切来赋值过去。
2.基类对象不能赋值给派生类对象。
3.基类的指针可以通过强制类型转换赋值给派生类的指针。但是必须是基类的指针是指向派生类对象时才是安全的。
继承中的作用域
=======
1. 在继承体系中基类和派生类都有独立的作用域。
2. 子类和父类中有同名成员,子类成员将屏蔽父类对同名成员的直接访问,这种情况叫隐藏,也叫重定义。(在子类成员函数中,可以使用 基类::基类成员 显示访问)
3. 需要注意的是如果是成员函数的隐藏,只需要函数名相同就构成隐藏。
4. 注意在实际中在继承体系里面最好不要定义同名的成员。
class person
{
protected:
_name = zy;
_id = 123;
};
class student : public person
{
public:
void print()
{
count << _name << endl;
count << person::_id << endl;
count << _id << endl;
}
protected:
int _id = 222;
};
void test()
{
student s1;l
s1.print();
};
继承不继承友元关系
=========
友元关系不能继承,基类友元不能访问子类私有和保护成员。
菱形继承和虚拟继承
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题
最新整理电子书
最新整理大厂面试文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
[外链图片转存中…(img-LxN7zkoq-1713474925363)]
最新整理大厂面试文档
[外链图片转存中…(img-y9RySUXv-1713474925364)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!