什么是面向对象编程?C++ Primer中指出:面向对象编程(OOP)基于三个基本概念(数据抽象、继承和动态绑定),在C++中,用类进行数据抽象,用类派生从一个类继承另一个类(派生类继承基类的成员),动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中的函数。
以前很肤浅的认为面向对象编程就是在程序中多使用类和对象,可是经过这一段时间的学习之后,发现自己对面向对象这个概念的认识越来越模糊。以前遇到问题就使劲往类上面扯关系,这种想法有个很明显的缺陷:将简单问题复杂化。比如求一个矩形的面积,我们只需定义一个函数,在需要求面积的时候去调用这个函数就可以,而不用大费周折的去定义一个矩形类。
最近一直在思考什么才是面向对象编程、一个类该如何设计、类的接口如何定义以及两个类之间的数据交换等等。每个人的思想都不同,理解也许就不同。
鉴于目前自己的情况:
1需要加深对类的理解
2 什么情况下该使用类什么情况下不需要使用类来快速解决问题
3 抽象、继承、多态的使用
4 如何给类定义好的接口
5 多动手编程,在程序中体味面向对象编程