zoukankan      html  css  js  c++  java
  • 面向对象编程

    一、面向过程编程

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

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

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

       缺点:可扩展性差。

    二、面向对象编程

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

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

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

       优点:可扩展性强

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

      、

    三、类

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

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

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

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

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

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

            都是先定义后再调用

          类和函数的不同点:

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

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

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

       1.定义类

        class 类名:

          变量=值

          def 函数名(self):

            pass

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

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

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

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

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

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

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

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

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

        

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

        

  • 相关阅读:
    ZOJ 2588 Burning Bridges
    POJ 1966 ZOJ 2182 Cable TV Network
    HDU 5348 MZL's endless loop
    HDU 5352 MZL's City
    Tarjan算法求解无向连通图的割点、割边、点双连通分量和边双连通分量的模板
    ZOJ 1119 SPF
    HDU 3452 Bonsai
    HDU 1520 Anniversary party
    POJ 2239 Selecting Courses
    POJ 1144 Network
  • 原文地址:https://www.cnblogs.com/linbin7/p/11057107.html
Copyright © 2011-2022 走看看