传统的过程性编程与OOP编程的区别

来源:互联网 发布:淘宝模特一分钟摆姿势 编辑:程序博客网 时间:2024/04/30 18:57

 面向对象编程与传统的的过程性编程的却别在于,oop强调的是在运行阶段(而不是编译阶段)进行决策。运行阶段指的是程序正在运行时,编译阶段指的是编译器将程序组合起来时。运行阶段决策好比度假时,选择 参观哪些景点取决于天气和当时的心情;而编译阶段决策更像不管在什么条件下,都坚持预先设定的日程安排。

运行阶段决策提供了灵活性;可以根据当时的 情况进行调整。例如,考虑为数组分配内存的情况传统的方法是生命一个数组。要在C++中声明数组,必须指定数组的长度。因此数组长度在编译时就已经设定好了;这就是编译时段决策。80%的情况下,一个包含了20个元素的数组足够了,但程序有时需要处理200个元素。为了安全,使用了一个包含200个元素的数组。这样,程序在大多数情况下都浪费了内存。OOP通过这样的决策推迟到运行阶段进行 ,使程序更灵活。在程序运行后,可以这次告诉它只需要20个元素,而还可以下次告诉它需要205个元素。

总之,使用OOP时,你可能在运行阶段确定数组的长度。为使用这种方法,语言必须允许在程序中运行时创建数组。