C++这门语言囊括了多种语言范式,并不是严格的
OOP
语言,所以在“实现与接口的分离”这一方面做得并不算好。 这里简述C++
的类设计中把实现与接口分离的方法.
在C++的某个class
的定义中,不仅声明了接口,还可以看到实现的具体细节,当然这个视角是针对类内部的,通常是在私有域private
中,比如下面这个类:
class Person {
public:
Person(const std::string& name, cpnst Date& birthday,
const Address& addr);
std::string name() const;
std::string birthDate() const;
std::string address() const;
private:
//实现的细节
std::string theName;
Date theB工rthDate;
Address theAddress;
};
要实现这么一个类,一般的做法就是在所在声明的头文件中include
Date
和Address
两个类的声明文件include"date.h"/include"address.h"
,如果Date
或者Address
类发生了改动&#x