zoukankan      html  css  js  c++  java
  • 创建类和对象

    类和对象

      面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用。

      类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化。类不代表具体的事物,而对象表示具体的事物

    创建一个类:

    #类的创建可以通过两种方式:经典类和新式类

    #构造函数,在实例化时做一些类的初始化工作
    #析构函数  在实例释放、销毁的时候自动执行的,通常做一些收尾性的工作,如关闭一些数据库连接、关闭打开的临时文件
    class Role: #经典类   新式类:class Role(object) 继承自object父类
        n=123 #类变量
        name='我是类变量'
        def __init__(self,name,role,weapon,value=100,money=1500):#构造函数,通过类创建对象时,自动触发执行。
            """
            self接收变量名,如r1。
            :param name:
            :param role:
            :param weapon:
            :param value:
            :param money:
            """
            self.name=name #实例变量(静态属性),作用域就是实例本身,
            self.role=role
            self.weapon=weapon
            self.value=value
            self.money=money
            #上面这几个的意思是要把这几个值存到对象的内存空间里
    
        def __del__(self):#析构函数
            pass
            #print("%s彻底死了"%(self.name))
    
        def buy_guy(self):#类的方法,功能  (动态属性),self,就是实例本身!你实例化时python会自动把这个实例本身通过self参数传进去,
            print("%s want to buy a guy..."%(self.name))
    
        def got_shot(self):
            print('%s got a shot'%(self.name))
    
    r1=Role('Mike','police','Ak')#Role(r1,Mike,police,Ak)实例化  把一个类变成一个具体对象的过程叫实例化(初始化)
    r1.got_shot()#-->=Role.got_shot(r1)
    r1.bullet_proof_vest=True #新添加一个属性,但只属与r1这个角色所有
    
    del r1.weapon #删除r1的weapon属性
    print(r1.weapon)
    
    print(Role.n)
    print(r1.n,r1.name)
    print(r1.n,r1.name,r1.bullet_proof_vest)
    
    #总结:
        # 1.上面的这个r1 = Role('Mike','police','AK’)动作,叫做类的“实例化”, 就是把一个虚拟的抽象的类通过这个动作,变成了一个具体的对象了, 这个对象就叫做实例
        # 2.刚才定义的这个类体现了面向对象的第一个基本特性,封装,其实就是使用构造方法将内容封装到某个具体对象中,然后通过对象直接或者self间接获取被封装的内容

    #类变量用途 节省内存,节省开销
    class Person:
        cn='China'#共用
        def __init__(self,name,age,addr):
            self.name=name
            self.age=age
            self.addr=addr
    
    P1=Person('Mike',30,'中国广东')
    print(P1.cn)
  • 相关阅读:
    统计数据库中表,视图,存储过程个数
    MVC4 上传图片并生成缩略图
    如何获取版本的 Internet 信息服务器 (IIS)
    验证码(中)——封装.使用
    验证码(上)——创建验证码
    javascript中window.open()与window.location.href
    PHP-文件目录操作
    功能三——读取试题列表与分页显示
    PHP开发-模板的使用
    面向对象
  • 原文地址:https://www.cnblogs.com/freely/p/6425816.html
Copyright © 2011-2022 走看看