模块九 面向对象编程

什么是面向对象

 语语言层面,封装代码和数据

规格层面,对象是一系列可被使用的公共接口

概念层面,对象是某种拥有责任的抽象

 

类,方法,类变量的定义

 类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()

  

posted on 2021-01-20 14:41  Cc01  阅读(99)  评论(0)    收藏  举报

导航