博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python------对于面向对象的理解
阅读量:6833 次
发布时间:2019-06-26

本文共 1225 字,大约阅读时间需要 4 分钟。

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占位。

 

转载于:https://www.cnblogs.com/codechangemyworld/p/5178661.html

你可能感兴趣的文章
重构可让SQL提高可维护性,可读性以及效能性
查看>>
java多线程例子
查看>>
fabric自动部署
查看>>
linux 命令小抄
查看>>
前端必读:浏览器内部工作原理
查看>>
C Socket Programming for Linux with a Server and Client Example Code
查看>>
6天通吃树结构—— 第一天 二叉查找树
查看>>
vs2005/vs2008和sql2005 的安装顺序
查看>>
powerdesigner 设置自动增长列(identity)和默认值
查看>>
Click Button to change the color of TextView
查看>>
oracle preparestmt 插入时间
查看>>
Java系的几种WebServer和ApplicationServer
查看>>
Android之菜单二——上下文菜单
查看>>
JavaScript中onmouseover时如何让鼠标指针变成一个小手状
查看>>
clear:both; 用法 什么时候用
查看>>
三层结构
查看>>
【简报】超棒的拖放式文件上传javascript类库:FileDrop
查看>>
连续子数组的最大和
查看>>
转: Oracle AWR 报告 每天自动生成并发送邮箱
查看>>
solr dataimport 数据导入源码分析(十)总结
查看>>