[C++程序设计笔记] 继承和多态学习总结

继承和多态是面向对象程序设计比较重要的特性。这些内容虽然在上学期的 Java 和本学期的设计模式课程中有所接触,但感觉还是缺乏练习,因而一些方面的机制还是没有弄得很透彻。这学期有了一点基础,理解起来就不是很难了,大概也就是加深了一下理解,顺便对 Java 和 C++ 在继承和多态这方面的异同点作了下区分。

关于继承和多态,我目前的理解是对于代码的复用以及构建类与类之间的联系。在很多程序设计任务中,我们往往需要编写重复或者功能相同的类,这时候就能应用类的继承,减少代码的冗余,减少工作量。或者我们可以对看上去不同但本质上具有相同特征的类进行分类,这就应用了多态。

C++ 的继承和多态与 Java 中的还是有很大区别的。比如 Java 中没有虚函数这一概念,类中的普通函数就对应 C++ 中的虚函数概念,而C++ 中就可以通过 virtual 关键字定义虚函数与纯虚函数。在 C++ 中,无虚函数继承的情况下基类对象指针不能直接访问派生类对象的独有成员等等。以及在学习期间明白了一些以前学习 Java 时理解比较模糊的概念,比如保护类型 protected 。

本次的作业是改动上次客户端程序的代码为类继承模式的程序。这次作业应该也不算复杂,就是在改动的过程中还是有些生疏,短时间之内还是没有完全理解 C++ 的类继承和多态机制。以下是改动的一些思路:

  1. 不更改原来客户端与后台共用的类,个人感觉这一部分最好写成单独的头文件;
  2. 定义操作类 Operation ,写出后台与客户端程序共用的函数,并将析构函数定义为虚函数;
  3. 定义具体操作类 Client ,继承并初始化基类,再扩展出具体操作类独有的成员,重写基类中的虚函数。

虽然有了一些思路,实现上也没有什么太大的问题,感觉还是缺少练习,毕竟课设应该少不了这些特性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值