成都9班-汤海洋 发表于 2021-11-21 17:49:50

类的特性

类的特性:
# # 1.封装:
# classPeople:         #经典类,默认继承object
#         def __init__(self):
#               pass
#         def set_name(self,name):      #创建一个实例方法,并且将获取到的值赋值给实例变量
#             self.name=name
#         defget_name(self):          #谁调用这个方法,我就把这个实例变量返回给他
#             return self.name
# p=People()
# p.set_name("小明")
# print(p.get_name())
#
#
# # 2.继承:当自己的类中方法不够使用了,可以去继承别的类。被继承的叫做父类,继承的叫做子类。
# # 子类对象可以调用父类的方法,父类对象不能够调用子类的防范
# # 可以同时继承多个类,也可以继承之后再进行继承
# # 第一种:同时继承多个类
# class   Father(object):         #object不是形式参数,是万物之源
#   def__init__(self):
#         pass
#   def   rich(self):
#         print("我是一个富有的人")
#   def   drink(self):
#         print("我是一个喜欢喝酒的人")
# classMother():
#   defbeautiful(self):
#         print("我是一个漂亮的人")
#
# classSon(Father,Mother):
#   def__init__(self):
#         pass
#   defyoung(self):
#         print("我是一个年轻的人")
#   defstrong(self):
#         print("我是一个强壮的人")
# f=Father()       #创建父类对象
# s=Son()         #创建子类对象
# s.rich()            # 子类对象可以调用父类方法
# s.beautiful()
# f.young()               # 父类对象不能够调用子类方法
#
# # 第二种:继承之后再继承:
# class   Grandfather(object):         #object不是形式参数,是万物之源
#   def__init__(self):
#         pass
#   def   rich(self):
#         print("我是一个富有的人")
#   def   drink(self):
#         print("我是一个喜欢喝酒的人")
# classFather(Grandfather):
#   defbeautiful(self):
#         print("我是一个漂亮的人")
# classSon(Father):
#   def__init__(self):
#         pass
#   defyoung(self):
#         print("我是一个年轻的人")
#   defstrong(self):
#         print("我是一个强壮的人")
# s=Son()
# f=Father()
# s.rich()             #孙子类对象,调用爷爷类方法
# f.rich()          #父亲类对象可以调用爷爷类方法
# s.drink()         #孙子类对象,调用爷爷类方法
# s.beautiful()   #孙子类对象,调用父亲类方法
# s.strong()         #孙子类对象,调用孙子类方法
#
# # 3.多态: 当继承的类里面的方法,不满足子类的要求了,子类可以进行方法的重写。
# # 如果调用重写的方法,会执行重写之后的方法
# classAnimal(object):
#   defsay(self):
#         print("欢迎来到动物世界")
# classDog(Animal):
#   deftalk(self):
#         print("汪汪")
#   defsay(self):
#         print("hello")
#
# a=Animal()
# d=Dog()
# g=Grandfather()
# a.talk()
# a.say()   #如果在子类中,没有对say方法进行重写,那么会调用父类中的这个say的方法
# a.say()   # 如果在子类中,对say方法进行了重写,那么会调用重写之后的方法
#
# a=Animal()
# d=Dog()         #Dog类继承与Animal类
# g=Grandfather()
# # 判断对象是否属于这个类
# print(isinstance(a,Animal))    #True
# print(isinstance(d,Animal))    # True
# print(isinstance(g,Animal))   #False
# # 判断第一个参数的类,是否继承于第二个参数的类
# print(issubclass(Dog,Animal))   #True
# print(issubclass(Grandfather,Animal)) #False
页: [1]
查看完整版本: 类的特性