# -*- coding:utf-8 -*-
# 类
class Human(object):
def __init__(self, name): # 相当于构造方法
self.name = name
# print name
Human_a = Human("alan")
class human(object):
pass
human_b = human()
human_b.name = "alan"
# print human_b.name
human_c = human()
human_c.name = "bob"
# print human_c.name
class human1(object): # 类中的方法
def __init__(self, name):
self.name = name
# def wolk(self):
# print self.name + " is walking"
human_d = human1("alan")
human_d.wolk()
class human2(object):
def __init__(self, name):
self.__name = name
# def wolk(self):
# print self.__name + " is walking in human2"
def get_name(self): # get set 方法 和java等一样
return self.__name
def set_name(self, name):
self.__name = name
human_d = human2("alan")
# print human_d.get_name()
# print human_d.__name # 报错 访问不到
human_d.set_name("bob")
human_d.wolk()
# 继承 & 多态
class man(Human): # 继承 & 增加方法
def __init__(self, name, hasWife):
# self.__name = name
super(man, self).__init__(name) # 可以用super调用父类的构造函数
self.__hasWife = hasWife
# def smoke(self):
# print "A man maybe smoke"
# def drink(self):
# print "A man maybe drink"
manA = man("bob", False)
manA.drink()
manA.smoke()
分类: Python
0 条评论