鱼C论坛

 找回密码
 立即注册
查看: 2211|回复: 0

[技术交流] class类的学习

[复制链接]
发表于 2020-9-23 09:24:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
类(class)是面向对象的对同类型的事物的特征提取和归类,方便同类型的多次调用 下面看看类的定义的用法:
class Player:  # Player首字母大写,这个不是规定,
    # 是为了区别函数的规范,约定俗成,小写也行
    def __init__(self, name, hp, occupation):  # __init__(self,*argv)是固定格式,
        # class被调用时自动运行的函数,self是类的实例化后的自身
        self.__name = name  # 这里加了两个下划线,就是类的封装,外部不能更改
        # 只能通过方法来修改
        self.hp = hp  # 变量称为属性,这里没有下划线,可以通过外部修改
        self.occupation = occupation

    def print_role(self):  # 定义一个方法,即类里面的其他函数
        print("Player %s's hp: %s, %s" % (self.__name, self.hp, self.occupation))

    def updatename(self, newname):
        self.__name = newname


class Monster:
    '定义一个怪物类'
    pass  # 定义之后不运行,这样不错提示错误


user1 = Player('Tom', 100, 'warrior')  # 这是类的实例化
user2 = Player('Jerry', 90, 'master')
user1.print_role()
user2.print_role()
user2.hp = 95  # 直接通过外部修改
print("Jerry's new hp:%s" % user2.hp)
user1.updatename('Tommy')  # name属性封装后,只能通过方法来修改
user1.print_role()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-30 23:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表