美文网首页python我爱编程
Python学习日记七(面向对象,继承)

Python学习日记七(面向对象,继承)

作者: HaleyLiu | 来源:发表于2018-04-12 16:12 被阅读16次

    一.面向对象

    1 .类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对
    象所共有的属性和方法。对象是类的实例。

    1. 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之
      外。类变量通常不作为实例变量使用。

    3.数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。

    4.方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个
    过程叫方法的覆盖(override),也称为方法的重写。

    5.实例变量:定义在方法中的变量,只作用于当前实例的类。

    6.继承:即一个派生类(derived class)继承基类(base class)的字段和方法。
    继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:
    一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,
    Dog是一个Animal)。

    7.实例化:创建一个类的实例,类的具体对象。

    8.方法:类中定义的函数。

    9.对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)
    和方法。

    python也是面向对象的语言,它也有封装,继承,多态等特性,有类似于jvm的解释器pvm。

    二 .实际操作

    用#!/usr/bin/python申明文件是python文件,用# - * - coding: UTF-8 - * -申明字符集是
    utf-8用class 子类名字(父类名字):来代表继承,设定属性的名字可以不和属性名字一
    致,但是不可重复比如 setAttr 和 setData, def init(self):申明构造方法。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    # 文件名:object.py
    
    class Parent:
      parentAttr =100
      def __init__(self):
        print  "调用父类无参构造函数"
               
      def parentMethod(self):
        print  "调用父类方法"
               
      def setAttr(self,attr):
        Parent.parentAttr=attr
                
      def getAttr(self):
        print  "父类属性:",Parent.parentAttr    
    
    class  Child(Parent):
      childAttr=200
      def __init__(self):
        print  "调用子类无参构造方法"
                 
      def childMethod(self):
        print  "调用子类方法"
                 
      def  setData(self,attr):
        Child.childAttr=attr
                 
      def  getData(self):
        print  "子类属性:",Child.childAttr
                  
    
    
    child =  Child()
    child.childMethod()
    child.parentMethod()
    child.getData()
    child.getAttr()
    

    这里用的工具是sublime text3,ctrl + B 编译后的结果为:


    编译结果.PNG

    也可以在其他文件引用object.py,它这里叫引用模块. 用import引入模块object,用object.Child()
    初始化构造方法

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    # 文件名:main.py
    
    import object
    
    print "----外部引用-----"
    c = object.Child()
    c.childMethod()
    c.parentMethod()
    c.getData()
    c.getAttr()
    
    外部引用编译结果.PNG

    相关文章

      网友评论

        本文标题:Python学习日记七(面向对象,继承)

        本文链接:https://www.haomeiwen.com/subject/nbffkftx.html