python中的类与对象

xiaoxiao2021-02-28  34

在所有面向对象的语言中,对象都是自然界中物质和实物的抽象,在程序中批量产生对象的模具,类经过实例化成为对象,存储在内存中。

类Class的创建

在python中类用class来修饰。

# 定义一个类 class Dog: # 定义一个初始化方法 def __init__(self,newWeight,newColor): self.weight = newWeight self.color = newColor def bark(self): print('汪汪--汪汪!') def run(self): print('狗在疯狂的跑') # 创建一个对象 xiaogo = Dog(5,'黑色') # 通过对象调用方法 xiaogo.run() # 添加属性 print(xiaogo.color) #在上面的代码中我们定义一个类,然后调用类实例化来创建一个小Dog对象。 **保护类的属性** # python3中新式类,如果有(object)叫新式类; # 上面的这种定义叫经典类; class Person(object): def __init__(self, name, age): self.name = name self.age = age xiaoming = Person('xiaoming',18) print(xiaoming) print(xiaoming.age) xiaoming.age = 19; print(xiaoming.age) # 像上面的定义属性,可以直接外面可以修改属性;如果在定义类,不想通过对象的点语法直接修改,在原来属性名加上双下划线修饰属性,通常会用一个set方法,去修改对象属性,一个get方法,一个set方法,这种方式定义的属性是一个私有的属性 class Person1(object): def __init__(self, name, age): self.__name = name self.__age = age def setNewage(self, age): self.__age = age #get方法 def getAge(self): return self.__age def __str__(self): return '年龄'+str(self.__age) xiaoli = Person1('xiaoli',29) xiaoli.setNewage(124) print(xiaoli)

对象的销毁

在python中对象创建后,如果没有其他的对象或者方法引用,Python解释器会自动销毁这个对象,这种机制类似于oc中ARC。我将通过下面的代码,在oc中对象销毁前想做点什么操作,在oc中我们会写dealloc的方法中,但是python中写在del中

class Animal(object): # 对象在销毁时候调用的方法 def __del__(self): print('旺财---汪汪') # 对象初始化前做的操作 def __init__(self,name): self.__name = name print('初始化了') # 在python中,如果python解释器发现该对象,没有任何对象或者方法,使用该对象 # 该对象将会被销毁 dog1 = Animal('旺财')
转载请注明原文地址: https://www.6miu.com/read-40593.html

最新回复(0)