模块九 面向对象编程
什么是面向对象
语语言层面,封装代码和数据
规格层面,对象是一系列可被使用的公共接口
概念层面,对象是某种拥有责任的抽象
类,方法,类变量的定义
类class:抽象的概念,一类事物
方法:类中定义的函数,对外提供的服务
类变量:类变量在整个实例化的对象中是公用的
实例引用:实例化一个对象
实例变量:以self.变量名,的方式定义变量
class people:
name = "alex" #name是类变量
age = 0
weight = 150
#构造方法,在类实例化到时候被调用
def __init__(self,name,age,weight):
self.name = name
self.age = age
self.weight = weight
# 类里面定义的变量是类变量
# self.变量名的方式,叫做实例变量
# def set_palm(self,name):
# self.name = name
#
# def set_age(self,age):
# self.age = age
def eat(self):
print("eating")
def play(self):
print("playing")
zs = people('李四',30,190)
zs1 = people("谢广坤",50,150)
# zs.set_palm("张三")
# zs.set_age("39")
print(f"张三的姓名是: {zs.name} ; 张三的年龄是: {zs.age} ;张三的体重是:{zs.weight}")
print(f"谢广坤的姓名是: {zs1.name} ; 谢广坤的年龄是: {zs1.age} ;谢广坤的体重是:{zs1.weight}")
#类变量和实例变量的区别
#类变量需要类来访问的,实例变量需要实例来访问
# print(people.name) #类变量
# print(zs1.name) #实例变量
#类变量和实例变量都是可以修改的
print(people.name)
people.name = "ALEX"
print(people.name)
print(zs1.name)
zs1.name = "赵四"
print(zs1.name)
#类方法和实例方法的区别
#类不能访问实例方法,如果必须访问,则需要加一个装饰器
#print(people.eat()) #类方法不能访问实例方法
zs.eat()
浙公网安备 33010602011771号