您的位置:首页 > 编程语言 > Python开发

Python练习代码 -- 类, 继承

2014-08-11 14:03 483 查看
# -*- mode: python; coding: utf-8 -*-

class Fruit(object):
type = 1  #类属性,相当于静态变量
__instance = None
#构造函数
def __init__(self, *param):
self.price = 5    #实例属性,实例化对象后才能调用
self.__color = "red" #私有属性命名 __开头
#单例模式
def __new__(cls, *args, **kwd):
if Fruit.__instance is None:
Fruit.__instance = object.__new__(cls, *args, **kwd)
return Fruit.__instance

def getColor(self, strx):  #实例方法,隐含参数self为类的实例
return self.__color
@staticmethod
def printVer():  #声明为静态方法,无隐含参数
print("Version: %d" %(Fruit.type))
@classmethod
def printVer2(cls):  #声明为类方法,隐含参数cls为类
print(cls)
#析构函数
def __del__(self):
self.__color = ""
#print("free")

Fruit.printVer()
Fruit.printVer2()
fruit = Fruit();
fruit.type = 2  #通过实例并不能改变类属性,实例这时候会创建一个type
print(Fruit.type)  #-->1
fruit.price = 6
print(fruit.price)
print(fruit.getColor("xxx"))
print(fruit._Fruit__color)  #直接调用私有属性

fruit2 = Fruit();
print(id(fruit))  #fruit2 == fruit
print(id(fruit2))

#类的继承
class Apple(Fruit):
def __init__(self):
pass

apple = Apple()
print(apple.price)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: