• Index

面向对象编程初级知识

Reads: 19

在之前的教程中我们使用过无数次的类,尤其以字符串居多。在我们写程序的时候,代码会越写越多,这时候为了方便阅读和重复利用,会从一堆代码中找出可以单独成功能的代码,并将这些代码封装成函数;当代码量真的很多的时候,代码还是不容易理解,这时候还是为了方便理解和重复利用,将一些函数和这些函数需要的共同参数或者全局变量都打包在一起,封装成,这样就会把整个程序代码的复杂度大幅度降低,这就是面向对象出现的理由。类是自定义的数据类型,类里面的函数叫做成员函数;类里面的变量叫做成员变量。用创建的变量叫做对象

类是为了降低代码的复杂度,使代码更容易理解和重用而出现的。如果过度封装则会导致代码复杂度大幅度上升并且后面代码越写越乱而且思维不清晰,最后导致写代码越来越慢而且容易出错和优化困难。如何合理封装类,就要靠你平时多学习并且积累经验,这是一个经验活。

面向对象是一种编程思想,通过良好的设计让程序代码的逻辑更加清晰,并且可以让其他程序员快速看懂。面向对象的三要素是:封装继承多态

  • 封装:将功能代码的细节隐藏起来,只提供易用易理解的成员函数等供其他代码调用,或者让使用这个类的程序员不必考虑其内部实现也能快速使用。经验越足封装效果越好,需要要多学和多练。

  • 继承多态:将简单部分封装成一个类后,让其他程序员可以基于这个类,扩展出具有更强大功能的类。

之前写了不少的例子,你应该也发现,成员函数只针对对象有效,某个对象的成员函数是不能操作其他对象的。例如两个字符串变量aba.size()输出的是a保存的字符串的字符数量,b.size()输出的是b保存的字符串的字符数量,这两个size是不能互相影响的。这也是面向对象思想的一部分。同样的还有std::pair,用std::pair创建的对象都有它们自己各自的成员变量firstsecond

接下来讲的就是如何去设计一个类。如果一个类设计得很好,那么使用类的时候就会非常方便;相反就会非常麻烦。而要设计好一个类并不简单,需要努力积累编程经验。


Comments

Make a comment

  • Index

WARNING: You are using an old browser that does not support HTML5. Please choose a modern browser (Chrome / Microsoft Edge / Firefox / Sarafi) to get a good experience.