python 面向对象

谁说胖子不能爱 提交于 2020-03-04 08:52:30

面向对象编程首先不是直接解决问题而是解决一类问题
通过创建类来模拟建立一通用模型

class People(object):   #定义类
    def __init__(self,name,age):   #静态属性属性值
        self.name = name           #属性 = 属性值
        self.age = age 
p1 = People("张三","18")           #构建对象
p2 = People("李四","20")           #同构建对象
print(p1.name)                      #输出对象名字
print(p1.age)                       #输出对象年龄       

另一种写法
该写法中类中只有一个对象

class People(object):   #定义类
    def __init__(self):   #静态属性属性值
        self.name = "张三"          #属性 = 属性值
        self.age = 18
p1 = People()           #构建对象
print(p1.name)                      #输出对象名字
print(p1.age)                       #输出对象年龄

封装

类中属性进行私有化

class People(object):   #定义类
    def __init__(self,name,age):   #静态属性属性值
        self.__name = name           #属性前加__表示属性私有化
        self.__age = age              
p1 = People("张三","18")           #构建对象 封装后属性值锁死 不能更改

如若更改需要添加方法

class People(object):   #定义类
    def __init__(self,name,age):   #静态属性属性值
        self.__name = name           #属性前加__表示属性私有化
        self.__age = age
    def get_name(self):             #获取name值
        return self.__name
    def set_name(self,name):        #更改name值
        self.__name = name 

property 方法

class People(object):   #定义类
    def __init__(self,name,age):   #静态属性属性值
        self.__name = name           #属性前加__表示属性私有化
        self.__age = age
    def get_name(self):             #获取name值
        return self.__name
    def set_name(self,name):        #更改name值
        self.__name = name
    name = property(get_name,set_name)

继承

class People(object):   #定义类
    def __init__(self,name,age):   #静态属性属性值
        self.name = name           #属性 = 属性值
        self.age = age
        
class Student(People):			#括号中表示继承People
    def __init__(self,id):
        self.id = id
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!