面向对象的意义:
通过对象把程序的逻辑及数据进行封装,通过外部进行访问,从而实现提高代码的重用性。灵活性及扩展性
什么是对象:
一切皆为对象,对象也是程序的基本单元
怎么定义对象:
不需要一个一个定义,存在共同行为和属性
模拟对象:
属性
行为
在面向对象编程中,通过类(class)来实现
什么是类:
类:用来描述具有相同属性和相同方法的对象和集合
如何定义类:
class 类名:
类主体(描述对象的相同书信共和相同行为)
class test:
#类主体(描述对象=属性+方法)
#对象的数据:属性
num=0
name=""
def writecode(self):
print("写代码")
#类的实例化
#类名称()
aa=test()
bb=test()
#对象执行某个行为
aa.writecode()
#如何执行类中的方法?先实例化,然后通过对象调用方法
print("name:",aa.name)
@classmethod
def my_classmethod(cls):
print(cls.num)//调用类中的属性
#静态方法,@staticmehtod装饰的方法,默认没有参数,当作普通函数使用,只是它定义在类中,如果需要实现的业务不依赖于类中的任何属性和方法,则可以定义一个静态方法(比如获取系统时间)
@staticmethod
def my_staticmethod:
print(time.time)
#内置方法
def __del__(self):
print("调用del方法会释放对象的内存地址")
def __str__(self):
return 'hello welcome'
def __getattrbute__(self,item):
print(item)
if item == 'num':
returen '人数'
#类的私有方法及私有属性
私有属性:__开头,不能在类的外部访问
私有方法:__开头,不能在类的外部访问
class test1:
def __init__(self):
self.__money=10000
def write(self):
print(self.__money)
aa=test1()
aa.write()