Python语言入门(八)动态语言中的类与对象初探

#在Python里面,也可以实现面向对象,通过class关键字实现类
#以下的pass关键字是Python语言特殊的占位符,如果某些代码暂时还没有
#办法实现,是空的,用这个关键字占位,就不会导致语法错误
#如下有一个空的英雄类:
class Hero(object):
    pass
#Python语言创建一个类的实例非常简洁,连new关键字都没有,直接'类名()'
#如下创建了一个英雄类的实例,实例名为hero1
h1 = Hero();

#Python是一种动态语言,与Java、C#等静态语言不同,Python的对象
#属性可以在使用时自由绑定新属性,哪怕定义类时并没有这个属性。
#如下给hero1对象动态绑定了一个name属性
h1.name = '德玛西亚';
print(h1.name)#输出: 德玛西亚

#这样也太自由了,适用于可选的属性。如果类必须要有某些属性呢?
#用一个特殊的 __init__函数,前后是两个下划线。该函数有一点点类似于
#Java中的构造方法,用于绑定属性、赋值的。如下重写的Hero类:
class Hero2(object):
    def __init__(self,name,HP):
        self.name = name
        self.HP = HP
#与普通的函数不同,类里面定义的函数包括__init__,第一个参数始终是self
#这个self类似于Java中的this关键字。如下可以调用带参构造函数实例化一个英雄
h2 = Hero2('无极剑圣',1500)

猜你喜欢

转载自blog.csdn.net/liudun_cool/article/details/78692441
今日推荐