首页 > 其他 > 详细

class

时间:2018-05-08 17:10:59      阅读:161      评论:0      收藏:0      [点我收藏+]
CLASS
一个类是对一类拥有相同属性的对象的抽象
类的特性
封装:
防止数据被随意修改,
使外部程序不需要关注对象内部的构造,只需要通过对象对外提供的接口进行直接访问即可
继承:
通过父类-子类的方式以最小代码量的方式实现,不通角色的共同点和不同点
多态:
一个接口,多种实现

实例
class Dog(object):
aaa = ‘22‘
def __init__(self, name):
self.Name = name
def sayhi(self):
print("I am dog: %s" % self.Name)
def __del__(self):
print("deleted")

d1 = Dog("andy")

self就是d1本身
__init__: 构造函数
sayhi(): 方法, 动态属性
self.Name: 成员属性,只属于一个实例
self.__xxx: 私有属性
aaa: 公有属性
强制访问私有属性: d1._Dog__xxx
__del__(self),析构函数,可自己定义,系统也会默认自带

继承:
class Dog(object):
def __init__(self, name, age, gender):
self.Name = name
self.Age = age
self.Gender = gender
self.__xx = ‘default‘

def sayhi(self):
print("I am a dog: %s" % self.Name)

def __del__(self):
print("deleted")


class persion(Dog):
def __init__(self, name, age, gender): # 先继承,再重构
Dog.__init__(self, name, age, gender)
print(self.Name, self.Age)

super(persion, self).sayhi() # 新式类用法
def sayhi(self):
Dog.sayhi(self)
print("I am a persion: %s" % self.Name)


c = persion("andy", "45", "male")



#打印实例所有属性
print(c.__dict__)

# 新式类写法
class A(object):
super(curren_class, self).function()
# 经典类写法
class B:
ParentClass.__init__


c = persion("andy", "45", "male")
c.sayhi()

class

原文:https://www.cnblogs.com/hinimix/p/9009282.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!