面向对象编程

一、面向过程编程

  核心‘过程’二字,过程指的是解决问题的步骤,即先干什么再干什么,后干什么。

   基于该思想编写程序就好比在设计一条流水线,是一种机械式的思维方式。

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

   缺点:可扩展性差。

二、面向对象编程

  一个软件的好,由8个因素来决定。成本、性能、可靠性、可扩展性、安全性、可伸缩性、可移植性、可维护性决定。

   面向对象仅仅解决了可扩展性。

     核心‘对象’二字。对象是特征与技能的结合体。基于该思想编写程序就好比在创造一个世界,世界里由一个个对象组成,你就是这个世界的上帝。是一种上帝式的思维方式。

   优点:可扩展性强

   缺点:编程的复杂度高了。

  、

三、类

   对象是特征与技能的结合体,类则是一系列对象相似的特征和技能的结合体

   在现实世界中:一定先有一个个具体存在的对象,然后随着人类文明的发展由人类站在不同角度总结出来的类。、

   注意:1.类是抽象的概念,而对象才是具体存在的事物。

      2.站在不同的角度,可以总结出不同的类

   在编程世界中:一定是先定义类,而后调用类来产生对象。

   注意:类和函数的相同点: 

        都是先定义后再调用

      类和函数的不同点:

        函数:定义函数只检测语法,不执行函数体代码

        类:定义类不仅检测语法,会立刻类体代码的运行。

   定义类时就会立刻触发类体代码的运行,会产生一个类的名称空间,将类体代码运行过程中产生的名字都丢到类的名称空间中。定义一个类本质就是造出了一个名称空间,用来存放 变量名和函数名,即类就相当于一个容器。存不是目的,取才是目的

   1.定义类

    class 类名:

      变量=值

      def 函数名(self):

        pass

   2.调用类产生对象:调用类的过程称之为类的实例化,得到结果是一个类的一个实例/对象

    a.调用会产生一个空对象。

    b.默认调用会将对象实例本身作为参数传给__init__函数.(连同小括号内所有参数)

   3.对象属性的调用顺序。

    定义一个类本质是创造一个名称空间,此名称空间存放的对象共同的属性。(变量和函数)

    实例化对象本质也是创造一个名称空间,此名称空间存放某对象自己特有的属性。(变量和函数)

    对象.实质是从对象的名称空间取数据。

    调用顺序:  优先从对象自己的名称空间查找,若没有,则从类的名称空间查找。

 

   4.在python3中,统一了类和类型的概念,类就是类型

    

     基本数据类型的创造也都是 通过 对象的实例化。 类(数据)

    

posted @ 2019-06-20 10:20  不吃海带丝  阅读(122)  评论(0编辑  收藏  举报