zoukankan      html  css  js  c++  java
  • Stage4--Python面向对象


    说在前面: Stage1—Stage4简单介绍一下Python语法,Stage5开始用python实现一些实际应用,语法的东西到处可以查看到,学习一门程序语言的最终目的是应用,而不是学习语法,语法本事其实很简单,本系列希望通过一个个的实例来了解和学习Python。


    理解面向对象编程

    万事万物皆对象

    我们从窗户向外望去:
    每棵树:每一课树都可以看成一个对象。
    路上每个人:每一个人也可以看成一个对象。
    每个人上班的事件: 可以看成一个对象。

    类和对象

    类则是从某一部分对象中抽象出来的一个群体,这些群体具有某些共同的特征,我们可以根据我们所需的某几个特征抽象出我们自己想要的类。

    每个人都是对象,我们可以抽象出来人的共同特征,就像我们给自然界的物质分类一样(如何分类?根据特征分类)。

    每个人上班的事件是对象,我们可以抽象出来上班,上班和上课就是两个类。

    创建Python中的类和对象

    创建类

    class Person:
    
        #特殊方法,构造函数,创建这个类的时候会首先调用
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        #定义一个方法,显示人的信息
        def displyPersonInfor(self):
            print("name:", self.name, ",  age:", self.age)
    

    创建对象(对象就是类的具体实例)

    person = Person("xiaoming", 22)

    访问属性及方法

    person.displyPersonInfor()  #访问类的成员方法
    
    print(person.name)          #访问类的属性
    print(person.age)
    

    python对象销毁(垃圾回收)

    析构函数 deldel在对象销毁的时候被调用,当对象不再被使用时,del方法运行:

    class Person:
    
        #特殊方法,构造函数,创建这个类的时候会首先调用
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        #定义一个方法,显示人的信息
        def displyPersonInfor(self):
            print("name:", self.name, ",  age:", self.age)
    
        #析构函数,对象销毁的时候调用
        def __del__(self):
            print(self.__class__.__name__ + "销毁")
    
    
    xiaoming = Person("xiaoming", 22)
    xiaoming.displyPersonInfor()  #访问类的成员方法
    
    xiaoqiang = Person("xiaoqiang", 25)
    xiaoqiang.displyPersonInfor()
    
    del xiaoming
    del xiaoqiang
    

    类的继承

    面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。

    继承语法 class 派生类名(基类名)://… 基类名写作括号里,基本类是在类定义的时候,在元组之中指明的。

    class Person:
    
        #特殊方法,构造函数,创建这个类的时候会首先调用
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        #定义一个方法,显示人的信息
        def displyPersonInfor(self):
            print("name:", self.name, ",  age:", self.age)
    
        #析构函数,对象销毁的时候调用
        def __del__(self):
            print(self.__class__.__name__ + "销毁")
    
    
    class Student:
    
        def __init__(self, name, age, grade):
            Person.__init__(self, name, age)
            self.grade = grade
    
        def displyPersonInfor(self):
            print("i am a student, my name is " + self.name)
    
    
        def __del__(self):
            print("student析构函数调用")
    
    
    xiaoming = Person("xiaoming", 22)
    xiaoming.displyPersonInfor()  #访问类的成员方法
    
    xiaoqiang = Student("xiaoqiang", 25, 3)
    xiaoqiang.displyPersonInfor()
    
    del xiaoming
    del xiaoqiang
    
  • 相关阅读:
    bat过滤任意字符
    汇编代码之修改文件时间
    使用C语言编写提取通用shellcode的程序
    汇编代码之修改文件时间
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    bat过滤任意字符
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    使用C语言编写提取通用shellcode的程序
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468436.html
Copyright © 2011-2022 走看看