zoukankan      html  css  js  c++  java
  • I初识面向对象

    本节主要内容:

    1.面向对象和面向过程

    2.面向对象如何编写

    3.面向对象和面向过程大pk

    4.面向对象的三大特征

    一.面向对象和面向过程(重点理解)

    1.面向过程;一切以事物的流程为核心.核心是"过程"二字,过程是指解决问题的步骤,即,先干什么,后干什么.基于该思想编写程序就好比在编写一套流水线.是一种机械式的编程思维

      优点:负责的问题流程化,编写相对简单

      缺点:可扩展性差

    2.面向对象:一切以对象为中心

      什么是对象?这个不好解释.先解释解释什么是车?有轱辘,有方向盘,有发动机,会跑的是车.好再解释一个什么是人,有名字,年龄,爱好,会唱歌跳舞思考的是人.我们给这两个东西下一个简单的定义.总结;具有相同属性和动作的结合体叫对象,面向对象思维,要自己建立对象.自己建立场景.你是就是面向对象世界中的上帝.你想让车干嘛就干嘛.你想让人干嘛就干嘛人就能干嘛.

      优点:可扩展性强

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

     对比:

      说要把大象装冰箱,总共分几步?三步,第一步,打开冰箱门,第二部,装大象,第三部,关冰箱门.这是一个典型的面向过程的思维方式.来我么如果换成面向对象呢?很简单.想办法造一个会钻冰箱的大象就可以了,然后命令大象.进冰箱.大象就乖乖的进冰箱了.这就是面向对象思维.我们面向的不再是实物发展的流程,而是操纵某一个实物的个体.具体的某一个事物.

    二.面向对象如何编写

      说了这么多,面向对象的程序如何编写呢?想想在我们的世界中,我们如何造一辆车?先由设计师来设计图纸.设计师在图纸上勾勒出车应该是什么什么样的,应该有什么.以及这台车的功能等.然后交给工厂进行代工.根据设计师设计的图纸去创造车.程序也是一样.我们需要先设计一个图纸.在图纸上把我要创建的对象进行描述,然后交给工人去创建对象.

      在这里,我们画图纸的过程需要我们写类,我们用类来描述一个对象.累的语法很简单.

      class 类名:

       pass

          哦了,这就创建出类了,假设.我们创建一个车类.

    class Car:

      pass

    这就创建了一个类.图纸有了.怎么创建一辆车呢?也很简单.我们把图纸交给工人帮我们创建一个车的实例.这个过程被称为实例化.实例化只需要:"类名()就可以了"

     c = Car()  #创建一辆车

      车有了.我们的车至少得有个颜色,车牌,排量等等信息啊,不同的车,有不同的颜色,车牌,排量等.

    c.color = "red"

    c.pai = ("京A666666")

    c.pailiang("1.6T")

    print(c.color)

    print(c.pai)

    print(c.pailiang)

      我们适用"对象","特征"可以给对象设置属性信息,

      接下来再造一辆车,并给车设置相关的属性信息

    c2 = car()

    c2.color = "white"

    c2.pai ="京b22222"

    c2.pailiang = "2.0T"

    print(c1)

    print(c2)

    class Car:

      def __init__(self,color,pai,pailiang):#self表示当前类的对象.当前你创建的是谁,谁来访问的这个方法.那这个self就是谁.

        self.color = color

        self.pai = pai

        self.pailiang = pailiang

    c1 = Car("red","京A66666","1.6T")

    C2 = Car("white","京b22222","2.0T")

    print(c1.color)

    print(c2.color)

    总结:类与对象的关系:类是对事物的总结.抽象的概念.类用来描述对象.对象是类的实例化的结果.对象能执行那些方法.都由类来决定.勒种定义了什么.对象就拥有什么

    1.面向过程

    def open_door():

      print("开冰箱门")

    def zhuang():

      print("装大象")

    def close_door():

      print("关冰箱门")

    open_door()

    zhuang()

    close_door()

    2.面向对象:

    class Elephant:

      def open(self):

        print("打开冰箱门")

      def zhuang(self):

        print("把自己装进去")

      def close(self):

        print("关冰箱门")

    dx = Elephant()

    dx.open()

    dx.zhuang()

    dx.close()

    面向过程:

    def da_ao_te_man(name,age,jn):

      print("%s,今年%s岁了,使用%s技能疯狂输出奥特曼"  %(name,age,jn))

    def da_bian_fu_xia(name,age,jn):

      print("%s,今年%s岁了,使用%s技能疯狂输出蝙蝠侠"  %(name,age,jn

    def da_zhi_zhu_xia(name,age,jn):

      print("%s,今年%s岁了,使用%s技能疯狂输出蜘蛛侠"  %(name,age,jn

    da_ao_te_man("小猪佩奇",39,"嘴巴嘟嘟")

    da_bian_fu_xia("小猪佩奇",39,"嘴巴嘟嘟")

    da_zhi_zhu_xia("小猪佩奇",39,"嘴巴嘟嘟")

    面向对象

    class pig:

      def__init__(self,name,age,jn):

        self.name = name

        self.age = age

        self.jn = jn

       

      def da_ao_te_man(self):

        print("%s,今年%s岁了,使用%s技能疯狂输出奥特曼"  %(self.name,self.age,selfjn))

      def da_bian_fu_xia(self):

        print("%s,今年%s岁了,使用%s技能疯狂输出蝙蝠侠"  %(self.name,self.age,self.jn))

      def da_zhi_zhu_xia(self):

        print("%s,今年%s岁了,使用%s技能疯狂输出蜘蛛侠"  %(self.name,self.age,self.jn))

     peiqi = pig("小猪佩奇",39,"嘴巴嘟嘟")

    peiqi. da_ao_te_man()

    peiqi.da_bian_fu_xia()

    peiqi.da_zhi_zhu_xia()

    四.面向对象的三大特征

      面相对象的三大特征:封装,继承,多态.只要是面向对象编程语言.都有着三个特征.

    1.封装:把很多数据封装到一个对象中.把固定功能的代码封装到一个代码块,函数,对象,打包成模块.这都属于封装的思想.具体情况具体分析.

    2.继承:子类可以自动拥有父类中除了私有属性外的其他所有内容.说白了,二字可以随便用爹的东西.但是朋友们一定要认清一个事情,必须先有爹,后有儿子,顺序不能乱.

    3.多态:同一个对象,多种形态.

    多态的好处:程序具有超高的可扩展性.面向具体思想的核心与灵魂.python自带多态

  • 相关阅读:
    poj 2029 Get Many Persimmon Trees 夜
    poj 1191 棋盘分割 夜
    DOM (四)
    div拖拽, onmousedown ,onmousemove, onmouseup
    闭包理解
    DOM(一)
    内存溢出与内存泄漏
    div随鼠标移动而移动(滚动条)
    对象继承模式
    DOM(二)
  • 原文地址:https://www.cnblogs.com/liurenli/p/9700707.html
Copyright © 2011-2022 走看看