【C++】抽象和类(1)--OOP编程特性、类规范基本组成、接口是什么、类与结构的区别

目录

0 . 基本概念

OOP特性:

过程性编程:

OOP编程:

1. 抽象和类

1.1 类型是什么

指定基本类型完成了三项工作:

1.2 C++中的类

类规范由两个部分组成:

什么是接口?

1.3 stock00.h

1.3.1.访问控制

1.3.2 控制对成员的访问:公有还是私有

类与结构的区别

 


0 . 基本概念

面向对象编程(OOP)是一种特殊的、设计程序的概念性方法。

OOP特性:

  • 抽象
  • 封装和数据隐藏
  • 多态
  • 继承
  • 代码的可重用性

过程性编程:

过程性编程方法,首先考虑要遵循的步骤,然后考虑如何表示这些数据。

(并不需要程序一直运行,用户可能希望能够将数据存储在一个文件中,然后从文件中读取数据 )

OOP编程:

首先考虑数据,不仅要考虑如何表示数据,也要考虑如何使用数据。

用户与数据交互的方式有三种:初始化、更新和报告---用户的接口。

采用OOP方法,首先从用户的角度考虑对象--描述对象所需的数据以及描述用户与数据交互所需的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。最后使用新的设计方案创建出程序。

1. 抽象和类

将问题的本质特征抽象出来,根据特征来描述解决方案。

抽象是通往用户定义类型的捷径,在C++中,用户定义类型指的是实现抽象接口的类的设计。

1.1 类型是什么

指定基本类型完成了三项工作:

  • 决定数据对象需要的内存数量
  • 决定如何解释内存中的位(long和float在内存中占用的位数相同,但将它们转换为数值的方法不同)
  • 决定可使用数据对象执行的操作或方法

1.2 C++中的类

类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。

类规范由两个部分组成:

  • 类声明:以数据成员的方式描述数据部分,以成员函数的方式描述公有接口
  • 类方法定义:描述如何实现类成员函数

什么是接口?

类名首字母大写

1.3 stock00.h

// stock00.h -- Stock class interface
// 版本 00 类的声明
#ifndef STOCK00_H_
#define STOCK00_H_

#include<string>

class Stock
{
public:
	void acquire(const std::string & co, long n, double pr);
	void buy(long num, double price);
	void sell(long num, double price);
	void update(double price);
	void show();

private:
	std::string company;
	long shares;  //股票数量
	double share_val;  // 每股的价格
	double total_val;   //股票的总价格
	void set_tot()
	{
		total_val = shares*share_val;
	}

};

#endif

1.3.1.访问控制

 

1.3.2 控制对成员的访问:公有还是私有

隐藏数据是OOP主要目标,因此数据线通常放在私有部分,组成类接口的成员函数放在公有部分,否则就无法调用。

不必在类声明中使用privte关键字,这是类对象的默认访问控制。

类与结构的区别

 

  • 1
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:酷酷鲨 设计师:CSDN官方博客 返回首页
评论 2

打赏作者

人工智能博士

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值