关闭

C++编程思想学习-概论

525人阅读 评论(0) 收藏 举报

1接口

操接口就是规定了我们可以向对象发送什么请求以及请求的格式。向对象发送消息即为提出请求。

2隐藏实现

       将客户程序员和类库底层实现分离。易于库的维护和开发,同时简化了客户程序员的负担,客户程序员不用关注具体库是如何实现的,而只要知道类库可以提供什么功能,如何使用即可。

       通过关键字实现类中的边界,保护类中的成员。关键字:public  private protected

4重用实现

       最简单的重用直接使用类的对象.同时,也可可以将一个类的对象作为另一个类的成员,即成员对象,即为组合。

       组合具有很大灵活性,而成员对象一般下都是私有的,从而防止新类的客户程序员受到干扰。同时可以在程序运行时动态改变这些成员对象,从而去改变程序的行为。

       继承也可以实现代码的复用。但是,由于继承不如组合灵活。所以,能用组合的地方尽量不用继承。

5继承:重用接口

       选取已存在的类,克隆并修改。如:基类描述系统中的一些对象的核心思想,而基类的派生类则进行行为、特性的具体实现和精化。C++使解空间的描述语与问题域的描述语一致从而减少中间模型。有利于问题的解决。派生类通过添加新类型的消息以及overriding基类的消息从而实现对基类的修改。新增的消息种类不能被基类的对象所使用。

6多态性

       通过多态性,可以使所调用的具体消息的确定推迟至程序运行时。增强了系统的可扩展性,可维护性。    C++中通过关键字virtual来告诉编译器这是一个虚函数。编译为晚绑定。

7创建和销毁对象

       C++使用堆式的动态存储分配策略。使系统的设计更加灵活。不必在程序设计设计时就要确定对象的多少、对象的生命周期,数据类型等。关键字为newdelete

9分析和设计

       首先,要明白系统要解决什么问题。其次,开发过程时,不要迷路。进行系统设计时,一定是先将系统分为许多子集,而非,一开始就编写代码。无论在初期做了多少分析,总有一些问题是在设计,更多的是在编程或者运行时才发现,所以,迅速的进行设计与分析并对提出的系统进行测试是相当重要的。而且,由于一些系统本身在前期是没有充足的信息的,称为不定型系统。这种系统的设计开发过程本身就是一个反复的过程。

       1)、用一句概括性的话描述系统。(2)、确定系统要做什么,画出用例图。(3)、建立对象,可以用类职责协同卡的形式。对象的设计是一个不断学习的过程,不要强迫自己一次性知道每一件事(4)、创建核心,创建出系统的核心结构。如果可以,可以快速生成原型及早的检测所构建的系统是否是实际需要的系统。

       先写测试,好处:(1)、强制类的接口有清晰的定义。(2)、利用编译器和运行时系统的协作,来构建系统的安全网。结对编程,好处:(1)、相互激励,相互监督,相互帮助、同时加快程序的开发。

10C转变到C++

       首先,训练和做例子,接着找一个实验性的项目找到基本感觉。不要试图用一些混乱的例子进行训练,同时,也不要期望做一个真实有效的项目来找感觉。项目训练时可以找一些成功的例子来学习经验,尽量试着用已有的类库,以达到知道、熟悉C++已有类库来发挥C++的高效性。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:419030次
    • 积分:4007
    • 等级:
    • 排名:第7747名
    • 原创:67篇
    • 转载:60篇
    • 译文:1篇
    • 评论:33条
    最新评论