zoukankan      html  css  js  c++  java
  • 面向对象编程和类的概念

    面向对象和面向过程比较

    面向过程:

    核心是过程,过程指的是解决问题的步骤,即先干什么再干什么然后干什么

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

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

    缺点:扩展性差

    面向对象:

    核心是对象:对象是特征与节能的结合体。

    基于该思想编写程序就好比是在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式。帝说:万物皆对象

    优点:可扩展性强

    缺点:编程的复杂程度要高于面向编程。

    种类、分类、类别

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

    强调:站的角度不同,总结出的类是截然不同的。

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

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

    '''
    类:种类、分类、类别
    对象是特征与技能的结合体,类是一系列对象相似的特征与技能的结合体
    强调:站的角度不同,总结出的类是截然不同的

    在现实世界中:先有的一个个具体存在的对象,然后随着人类文明的发展才了分类的概念
    在程序中:必须先定义类,后调用类来产生对象

    站在老男孩选课系统的角度,先总结现实世界中的老男孩的学生对象
    对象1:
    特征:
    学校='oldboy'
    姓名='耗哥'
    年龄=18
    性别='male'
    技能:
    选课

    对象2:
    特征:
    学校='oldboy'
    姓名='猪哥'
    年龄=17
    性别='male'
    技能:
    选课

    对象3:
    特征:
    学校='oldboy'
    姓名='帅翔'
    年龄=19
    性别='female'
    技能:
    选课

    站在老男孩选课系统的角度,先总结现实世界中的老男孩学生类
    老男孩学生类:
    相似的特征:
    学校='oldboy'
    相似的技能
    选课
    '''
    #在程序中
    #1、先定义类
    class OldboyStudent:
    school='oldboy'

    def choose_course(self):
    print('is choosing course')

    #类体代码会在类定义阶段就立刻执行,会产生一个类的名称空间
    # 函数体代码会在调用阶段才会执行,会产生一个函数的名称空间。

    # 类的本身其实就是一个容器/名称空间,是用来存放名字的,这是类的用途之一
    print(OldboyStudent.__dict__)
    print(OldboyStudent.__dict__['school'])
    print(OldboyStudent.__dict__['choose_course'])
    OldboyStudent.__dict__['choose_course']()

    print(OldboyStudent.school) #OldboyStudent.__dict__['school']
    print(OldboyStudent.choose_course) #OldboyStudent.__dict__['choose_course']

    OldboyStudent.choose_course(111)

    OldboyStudent.country='China' #OldboyStudent.__dict__['country']='China'
    OldboyStudent.country='CHINA' #OldboyStudent.__dict__['country']='China'
    del OldboyStudent.school
    print(OldboyStudent.__dict__)



    #2、后调用类产生对象,调用类的过程,又称为类的实例化,实例化的结果称为类的对象/实例
    stu1=OldboyStudent() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
    stu2=OldboyStudent() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
    stu3=OldboyStudent() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
  • 相关阅读:
    How to alter department in PMS system
    Can't create new folder in windows7
    calculate fraction by oracle
    Long Wei information technology development Limited by Share Ltd interview summary.
    ORACLE BACKUP AND RECOVERY
    DESCRIBE:When you mouse click right-side is open an application and click left-side is attribution.
    ORACLE_TO_CHAR Function
    电脑BOIS设置
    JSP点击表头排序
    jsp+js实现可排序表格
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9225777.html
Copyright © 2011-2022 走看看