我在B站学习 清华大学教授带你学习c++(进阶)类与对象

B站av11459203的一系列视频,跳过了基础篇直接进入进阶,从此难度开始加大。这里做出一些笔记分享一下。

我是1.25速度看的。。对应分P 34-36

 

对象:现实中对象的模拟,具有属性和行为,对象是类的实例

类:同一类对象共同属性和行为

定义对象时,通过构造函数初始化

删除对象时,通过析构函数释放资源

 

面向对象程序设计特点

抽象:

对同一类对象的共同属性和行为进行概括,形成类

首先注意问题的本质及描述,其次是实现过程和细节

数据抽象:描述某类对象的属性或状态

代码(方法)抽象:描述对象的共有特征或具有的功能

抽象的实现:类

抽象实例 钟表
数据抽象
int hour,minute,second

代码(方法)抽象
setTime(),showTime()
class Clock{
public:
    void setTime(int newH,int newM,int newS);
    void showTime();
private:
    int hour,minute,second;
};

 

封装

将抽象出的数据,代码封装在一起,形成类

目的:增强安全性和简化编程,使用者不必了解具体的实现细节而只要通过外部接口,以特定的访问权限,来使用类的成员

 

继承

在已有类的基础上,进行扩展形成新的类

 

多态

同一名称,不同的功能实现方式

目的:达到行为标识统一,减少程序中标识符的个数

 

设计类应该想到什么....

类型的合法值是什么?

有什么样的函数和操作符

对象如何创建和销毁,如何进行初始化和赋值?

对象作为函数的参数如何以值传递?

谁来使用类的对象成员?

 

类定义的语法形式

1 public:
2     void setTime(int newH,int newM,int newS);
3     void showTime();
4 private:
5     int hour=0,minute=0,second=0;//成为类内初始值

 

公有成员

是类与外部的接口,任何外部函数都可以访问。

 

私有成员

只允许本类的函数访问,而类外部的任何函数不能访问

在类名称开头声明则默认为private(可以不写)

 

保护成员

不在这里介绍

 

对象定义语法 类名 对象名;

从类外访问成员使用“对象名.成员名”方式访问public成员

 

类的成员函数

在类中声明函数原型

可以在类外给出函数体的实现,并在函数名前使用类名加以限定

也可以在类中给出函数体,形成内联成员函数(见下图)

允许声明重载函数和带默认参数值的函数

 

转载于:https://www.cnblogs.com/yinghualuowu/p/8492662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值