| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++ 面向对象编程学习感悟 -> 正文阅读 |
|
[C++知识库]C++ 面向对象编程学习感悟 |
面向对象 三大基本特征:数据抽象,继承,多态 目录 类和对象:类是抽象的概念,就像动物;人类这样,它没有具体表示哪一个。 对象是类的实例化,能够表示一个具体的事物,如:张三是人这个类的一个实例化对象,它指明了就表示张三这个人。 在C++中是这样定义一个类的;关键字class
如上代码:定义一个类 ,类名叫Animal该类中有属性age和方法speak; 成员变量和函数的修饰符:public,private,protected 由public:修饰的成员可以被其他成员访问,在类外也可以被访问,能被类的友元函数访问,也能被该类的派生类访问; 由protected:修饰的成员可以被其他成员访问,在类外不能被访问,能被类的友元函数访问,能被该类的派生类访问; 由private:修饰的成员可以被其他成员访问,在类外不能被访问,能被类的友元函数访问,不能被该类的派生类访问; 类的实例化:
如上代码: 定义一个类People;实例化为对象名lisi的对象; 格式: ? ? ? ? 类名? 对象名;
构造函数就是类的一个特殊函数,在进行类的实例化的时候就会调用,我个人的理解就是一个接口,能够创建对象的接口。 有参构造和无参构造:
无参构造函数就是没有参数传递,在类中我们就算不写,它都是存在的; 格式: ????????类名() ????????{ ? ? ? ? ? ? ? ? ? ? ? ? //函数体; ????????} 有参构造
格式: ????????类名(参数列表) ? ? ? ? { ? ? ? ? ? ? ? ? //函数体; ?????????} 在有参数的构造函数的定义的时候可以对类的成员变量进行赋值; 格式: 类名(参数列表): 变量1(值),变量2(值).... { ? ? ? ? ? ? ? ? //函数体; }
注:构造函数没有返回值,所以没有返回类型 有参和无参的构造函数可以同时存在一个类中,所以构造函数可以发生重载 析构函数 也是类的一种特殊函数,程序员没有写出析构函数的话,编译器会自动生成一个隐藏的析构函数,它作用是释放资源 格式: ~类名() { ? ? ? ? //函数体; } 析构函数的调用时机
析构函数和构造函数一样没有返回值,但是析构函数不能发生重载,也没有参数 继承?继承就是子类继承父类,子类共享父类的一些属性和方法;子类还有自己的一些属性和方法 单继承和多继承: 单继承就是,子类只有一个父类,只从一个类共享其属性;
继承权限有?public/private/protected三种;
?注:父类的private下的不与子类共享;三种继承权限下都没有继承父类的private下的成员; 多继承就是一个子类可以共享多个父类的属性和方法;?
多态一个接口,多种形态;我个人理解就是父类和子类都有相同的一个方法(虚函数),但是有不同的实现;如成人张三这个类有子类小明,并且都有”吃饭“这个方法,但是张三能吃三大碗,小明只能吃一小碗 发生多态的条件:
虚函数:virtual 修饰的普通成员函数,声明格式如下 virtual 返回值类型? 函数名(参数列表); |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:36:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |