初学C++——郑莉老师的课 第四章 面向程序设计的基本特点类和对象

xiaoxiao2021-02-28  35

1. 抽象

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

 数据抽象:描述类的属性和状态(对象相互区别的物理量)

 代码抽象:描述类的功能

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

2. 封装

  将抽象出来的数据/代码封装在一起,形成类,将它们视为一个整体。

目的:增强安全性以及简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口(public里头的函数),以特定的访问权限(public/private/protected),来使用类的成员。

3. 继承

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

4. 多态

 同一个名称,不同的功能实现。

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

类和对象

1. 类定义:可以给数据成员设置类内初始值,这个是用于初始化数据成员用的。

   如果有构造函数对数据成员进行初始化,那就用构造函数初始化。如果没有的话,就会用类内的初始值。

class Clock { public: void setTime(int newH, int newM, int newS); void showTime(); private: int hour = 0, minute = 0, second = 0;//类内初始化 };

2. 访问权限

  public: 是类与外部的接口。任何外部函数都可以访问公有数据和函数。

  private:只允许本类的函数访问。(类里默认的成员为private成员)

  protected:与私有成员类似。继承派生有差别。

例子:

#include<iostream> using namespace std; class Clock { public: void setTime(int newH=0, int newM=0, int newS=0);//当调用这个函数时,如果给了实参 //就用实参值,如果没给,就用默认参数值(0,0,0) void showTime(); private: int hour,minute,second; }; void Clock::setTime(int newH, int newM, int newS)//成员函数的实现 { hour = newH; minute = newM; second = newS; } void Clock::showTime()//成员函数的实现 { cout << hour << ":" << minute << ":" << second; } int main() { Clock myClock; myClock.setTime(8, 30, 30); myClock.showTime(); return 0; }
转载请注明原文地址: https://www.6miu.com/read-2614058.html

最新回复(0)