1:我们区分过程性编程和面向对象编程:面向对象编程是一种设计程序的方法,特性
抽象,封装和数据隐藏,多态,继承,代码和重用性。首先考虑如何表示数据,其次考虑如何使用数据。
抽象,简化:我们将数据由复杂变为简单。在计算中,抽象就是将问题的本质抽象出来。
接口描述了用户如何初始化,更新,显示数据。
2:类型:胖,黑,1.75米,兜里插着钢笔。这就是类型,即集合体。
首先考虑数类型:char:一个字节;double:8个字节。指定基本类型完成了三项工作:决定数据对象需要的内存数量:要占据多少内存。
决定解释内存中的位:字节不同。
对数据对象执行的操作或方法。
类将数据表示和操纵数据的方法组合成一个整洁的包。
接口是一个共享框架,供两个系统交互时使用,想象成一座搭在河水上的桥梁。
公共接口:公共是使用类的程序,交互系统由类对象组成,而接口由编写类的人提供的方法组成。使用类,了解公共接口;编写类,创建公共接口。
stock00.h--class interface
#ifndefn STOCK00_H_
#define STOCK00_H_
#include<iostream>
class stock
{
private:
std::string company;
long shares;
double share_val;
double total_val;
void set_tot(){ total_val=shares*share_val;}
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();
}
#endif
上面定义了一个关于股票的知识。
class指出这些代码定义了一个类设计,stock是这个新类的类型名,该声明让我们能够创建两个stock对象,Sally和solly,见下代码。
stock sally;
stock solly;
二访问控制:
private和public为例 ,使用类对象的程序都可以直接访问公有部分,但只能通过公有成员函数来访问对象的私有成员
关键字class定义,stock:类名称成为这个用户定义的类型的名称
然后是:类成员也可以是数据类型,也可以是函数
private:无需了解数据是如何被表示的。
控制对成员的访问,公有还是私有:
类成员:数据成员,成员函数。都可以在公有部分或者私有部分中声明它。
数据项一般放在私有部分中;组成类接口的成员函数放在公有部分;否则,就无法从程序中调用这些函数,private可以省略。
class world
{
float mass;//private省略了。
char name[20];
public:
void tellall(void);
…
…
}
实现成员函数:这是创建类描述的第二部分为那些由类声明中的函数原型表示的成员函数提供代码。成员函数定义与常规函数定义非常相似;
1:函数头,函数体;2:返回类型,参数;3
定义成员函数,使用作用域解析运算符(::)来表识函数所属的类;
4:类方法可以访问类的private组件。
void stock::update(double price)这种表示法意味着update函数识类stock的成员。