C++面向对象思想(一)

相比CC++多出来一些东西来,类定义、继承、重载、覆盖、类动态编译、抽象类虚函数、模板。这些东西非常有用,但怎么用,像我这种小白,就有些难过了,世界最遥远的距离就是虽然学习了面向对象,可是用起来还是如同面向过程一样粗暴大哭

首先我们需要了解什么是面向对象思想惊讶

对象便是我们接触的事物,有属性有动作。而面向对象字面意义便是我们启动这些对象的动作,关注获得的结果就好,不需要知道他们如何操作的。多么方便呀,我们只需要按下咖啡机的按钮就可以获得一杯美味的咖啡,不必自己按照咖啡机的工作过程,亲手操作。

好了,我们已经知道什么是面向对象了,但是我们面临一个关于品质的问题,一个不想偷懒的程序员不是一个好工程师。每次我们拿到一个项目,我们便开始写类的属性,然后是属性的接口函数,其次便是属性之间,类与类之间的函数。基本的代码都比过程解决的整个代码都多,真的心累呀。所以我们需要知道如何设计出一个简洁的UML

第一步,我们需要知道整个项目中涉及到多少种类,这些类的关系是什么,记住我们要用一个树来描述关系。类似于

为什么要画一个这样的树呢?树的特性是同一层没有任何关系,上下层有服务关系。最下面的类则是被采用最多的,是最基础的。如果我们把整个项目中涉及最多的属性抽象到一个类,那么我们可以一劳永逸了。

第二步,类之间的动作关系。我们可以分为有相同继承的类和没有公共父类的类。有公共父类的子类更加趋向于这个项目对于不同操作情况的反应,属于分情况分析,所以我们希望的是当达到某一情况时,我才做什么样的动作,在这之前系统并不知道整体情况,对于编程人员也不需要做什么情况判断,直接调用方法处理就行,判断什么的就交给编译器了。第二种是没有公共分类的类,在这些方法的编写中,我们则要注意不要随意就去调用类中的属性,做好封装。

第三步,则是考虑在数据或类的处理中,有没有非常频繁的,针对于不同的参数的操作。比如,日期需要比较,字符串需要比较,图形位置需要比较之类的。我们就需要写一个模板,针对于不同类的参数都起作用。那么我们就只需要通过定义自己需要的类,然后调用这个通用模板,就可以完成重复的工作了。

这就是我今天想跟大家分享的面向对象思维。不过是自己琢磨出来的,如果有什么不对的,非常欢迎各位道友指点,一起进步呀奋斗

简单介绍下自己,我是一个虽然浸淫计算机4年,但仍然小白一枚。在成为会思考、会写作的伟大程序员道路上努力奋斗,立志实现我的第一个既定目标。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值