码迷,mamicode.com
首页 > 其他好文 > 详细

class

时间:2018-05-08 17:41:50      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:通过   继承   对象   多种实现   function   代码   ted   访问   需要   

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

标签:通过   继承   对象   多种实现   function   代码   ted   访问   需要   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!