python------对于面向对象的理解

python中一切皆为对象

      其实面向对象没什么高大上的东西,只不过把我们平时对于事物的描述和动作系统的总结成了一个定义事物的方法而已。

我们平时向别人介绍一个他(她)从未见过的东西,会从外形和外貌特征来说明这个东西,比如颜色,大小等,这就对象的属性。还会介绍这个东西能做什么或者有什么用,这就是对象的方法。所以用属性和方法就可以定义一个对象。也就是说一个对象包含了各种属性和方法。

     在python中使用对象属性和方法的记法为:object.attribute 或 object.method()

     Python中创建对象的第一步是建立一个类(class),这个类就类似于我们区分动物和植物。动物类和植物类各有自己的特征,当我们见到一个事物时,如果它满足动物的特征,我们就说它是动物;如果它满足植物的特征,那么它就属于植物。同样的当我们在python中建立一个类时,就要说名这个类的属性有什么,方法有什么。然后再创建属于这个类的具体实例,也就是对象。那么这个对象也就有了这个类的属性和方法。但具体的属性和方法根据具体对象而定。就像动物类的属性就是有耳朵,有眼睛,有皮毛,方法就是移动,进食等等,具体对象比如说是兔子那就是有长长的耳朵,红色的眼睛,白色的皮毛。方法就是奔跑,进食就是吃胡萝卜。这样理解类和对象或者实例就没什么抽象的了。

 __init__():  创建类的默认属性,也称初始化

__str__() :  返回对象的字符串表达式

多态:对于不同的类可以有同名的方法,同名的方法应用到不同的类可以有不同的行为。

形如:

class Triangle:

    def __init__(self, width,height):

        self.width = width

        self.height = height

    def getArea(self):

         area = self.width * self.height / 2.0

          return area

class Square:

     def __init__(self,size):

         self.size = size

      def getArea(self):

           area = self.size * self.size

            return area

继承:类可以从其他类继承属性和方法;从其他类继承属性或方法称为派生类或者子类。

形如:class  Animal:

             def __init__(self,name):

                  self.name = name

         class Dog(Animal):

              def __init__(self,color):

                   self.color = color

               def runSpeed():

                    pass

这样Dog就继承了Animal的name属性。

对象的方法代码暂未想出可以用pass占位。

 

posted @ 2016-02-03 10:57  代码世界等我  阅读(1747)  评论(0编辑  收藏  举报