收藏文章 楼主
版块:软件测试培训   类型:普通   作者:多测师   查看:9984   回复:0   获赞:0   时间:2021-07-30 10:24:57

一、概念理解

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

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

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

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

实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。

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

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


二、定义和使用类

upfile1627609901710.jpg

class Baoan13(object):     #新式类  定义一个类,并且继承object类,父类、基类、超类

class Baoan13():   #经典类,参数列表中没有object

    head='我是一个类变量'    #类变量,可以被类中所有的实例方法调用,不作为实例变量使用

    def __init__(self,name,age,hight):  #构造方法,又称构造函数。作用:初始化类的属性

                         #定义:在类里面,双下滑线构成私有方法,只能被自身或子类访问

        self.name=name   #实例变量(用self修饰的一个变量)

        self.age=age

        self.hight=hight

 

    def play(self):       #实例方法(实例函数)

        print(self.name+'今年'+self.age+'岁了,他的身高是'+self.hight+'cm')

def get_play(self): #这个实例方法是调用上面play的实例方法

        self.play()

upfile1627609976688.jpg

 @classmethod    #@classmethod是一个类方法的装饰器

        #在类中,@开头的称为装饰器

        #装饰器的作用:本身也是一个函数,在不影响原有功能的基础上,添加新的功能

    def func1(cls):   #类方法,以cls修饰的一个方法,类方法的特性:单例模式

        print('我是一个类方法。')

 

    def func2(cls):  #这也是一个类方法,与上面有@classmethod修饰的不一样

        cls.value=20   #类方法变量

        print(cls.value)

 

    @staticmethod   #静态方法的装饰器

    # 静态方法:写在类中的普通方法,能被实例方法和类方法调用,但是不能调用实例方法和类方法

    def func():

        print('我是一个任人调用的静态方法。')

 

def putong():

    print('我只是一个普通函数。')

upfile1627610035675.jpg

if __name__=='__main__':   #主函数调用

    #1调用.类直接调用实例方法(实例函数)

    Baoan13('小明','18','180').play()

    #2.调用.根据类创建一个对象p,创建对象的过程被称为实例化

    # #对象p可以调用类中所有的实例方法(实例函数)和实例变量

    p=Baoan13('小明','18','180')  #常用。创建对象,传入参数(参数数量要与构造的方法一致)

    p.play()    #对象调用实例方法

    # p.get_play()  #对象调用实例方法(实例方法get_play去调用实例方法play

    # print(p.name)  #对象调用实例变量

    # print(p.age)   #对象调用实例变量

    # print(p.hight) #对象调用实例变量

    # print(p.head)  #对象调用类变量

    # p.func1()  #对象调用类方法( @classmethod修饰的)

    # p.func2()  #对象调用类方法

    # p.func()   #对象调用类方法(@staticmethod修饰的)

# putong()  #普通函数的调用


   如需了解更多测试技术信息请关注:http://www.duoceshi.cn/ 深圳市多测师信息技术有限公司



全站外链: TEC传感器 | 猫掌外链
 
回复列表
默认   热门   正序   倒序

回复:Python中的类与对象

网站公告

近期本站被人为恶意注册及发布垃圾帖,每一个发帖都会经过审核,一经发现违法或垃圾帖的用户,帖子将被删除或封号,请大家共同维护互联网环境,共创美好互联网未来。

详细的发帖规则请阅读:

《小猪外链网发帖规则》

《小猪外链网最新金币规则》

注:本站严禁发布灰色违禁违法内容,如发现立刻永久封号,如开通会员的概不退款。

Powered by 小猪外链网 8.3.15

©2015 - 2025 小猪SEO外链平台

备案号:浙ICP备17015142号

免责申明:本网站内容由平台入驻会员撰写,除创始人账号外,其他观点仅代表作者本人,不代表小猪外链网立场。如果内容涉及侵犯其他公司、团体的利益、请联系小猪SEO外链网客服举证删除

您的IP:18.216.196.208,2025-05-01 11:12:53,Processed in 0.33467 second(s).

各位站长请准守小猪SEO外链网的发帖规则,文明理性发言

外链优化

用户名:

粉丝数:

签名:

资料 关注 好友 消息
分享
已有0次打赏