Python面向对象编程(一)

一.什么是面向对象的程序设计为什么要有它

1.面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的编程就好比设计一条流水线,是一种机械式的思维方式。


优点是:复杂的问题流程化,进而简单化

缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全身。

应用场景:一旦完成基本很少改变的场景,著名的例子有Linux内核,git,以及Apache HTTP Server等


2.面向对象的程序设计:核心是对象二字,对象是特征与技能的结合体,基于面向对象设计程序就好比在创造一个世界,你就是这个世界的上帝,存在的皆为对象,不存在的也可以创造出来,与面向过程的思维方式形成鲜明的对比,面向对象更加重视对现实世界的模拟,是一种“上帝式”的思维方式


优点是:解决了程序的扩展性。对某一个对象单独修改,会立刻反应在整个体系中。

缺点是:编程复杂度远高于面向过程


二.类与对象

     类:对象是特征与技能的结合体,而类则是一系列对象相同的特征与技能的结合体

     强调:       

        1.对象是具体存在的事物,而类则一个抽象的概念

        2.站在不同的角度总结出的类与对象是不同的

        在现实世界中:先有一个个具体存在的对象,然后随着人类文明的发展才总结出类的概念

        在程序中: 先定义类,后调用类来产生对象

1.先定义类
  class OldboyStudent:
    #相同的特征
    school = 'oldboy'

    #相同的技能
    def choose_course(self):
        print('choosing course')



猜你喜欢

转载自blog.51cto.com/12553708/2164997
今日推荐