python类面向对象
791字约3分钟
2024-09-29
什么是面向对象编程?
面向过程编程:是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程。
面向对象编程:是一种计算机编程架构,以对象为中心的编程思想,对现实世界理解和抽象的方法。

类、对象它们之间的关系:
- 类:类是对现实生活中一类具有共同特征的事物的抽象描述。例如电脑类、空调类、人类 
- 对象:类的实体,实际存在的事物,例如电脑类的“主机”、“显示器” 
- 类与对象的关系:类是由对象来定,这个过程叫做抽象化。用类创建对象,这个过程称为实例化 
类的其他特点:
- 封装:把相同对象的功能(函数)、属性(变量)组合在一起 
- 方法:对象的功能(例如电脑能上网、看片),实际在类里面就是函数,称为成员函数,也可以称为方法 
- 属性:对象的特征(例如电脑都有主机、显示器) 
- 实例化:用类创建对象,这个对象具体是什么东西,例如你用的电脑、我这个人 
类的定义
使用class关键字定义类: 
class ClassName(): 
    def funcName(self): 
        pass电脑(类): 
    特征(属性):主机,显示器,键盘,鼠标… 
        host = "4C8G" 
        displayer = "27寸" 
        keyboard = "机械键盘" 
        mouse = "无线鼠标" 
    功能(方法):办公,上网,看片… 
    def office(): 
        办公 
    def internet(): 
        上网 
    def movies(): 
        玩游戏 
    …类的书写规范
示例:定义一个电脑类
class Computer(): 
    ''' 
    电脑类
    ''' 
    # 属性 
    def __init__(self): 
        self.host = "4C8G" 
        self.displayer = "27寸" 
        self.keyboard = "机械键盘" 
        self.mouse = "无线鼠标" 
    # 方法 
    def office(self): 
        return "办公" 
    def internet(self): 
        return "上网" 
    def movies(self): 
        return "看片"类的书写规范:
- 类一般采用大驼峰命名,例如MyClass 
- 类注释,用于说明该类的用途,提高可阅读性 
- 类中只存在两种数据:属性和方法 
- 声明属性必须赋值 
- 声明方法的第一个参数必须是self,其他与普通函数一样 
- 一般会使用__init__方法给类指定的初始状态属性 
类实例化
通常称为:
- 实例化:用类创建对象的过程 
- 类实例:用类创建对象 
- 实例属性:对象的属性 
- 实例方法:对象调用的方法 
示例:
pc = Computer() # 类实例化,
pc是类实例 print(pc.host) # 访问类属性,查看电脑配置
print(pc.movies()) # 访问类方法,让电脑做事
初始化函数
示例:让某个人使用电脑做事
class Computer(): 
    ''' 
    电脑类 
    '''
     # 属性 
     def __init__(self, name): 
         self.host = "4C8G" 
         self.displayer = "27寸" 
         self.keyboard = "机械键盘" 
         self.mouse = "无线鼠标" 
         self.name = name 
     # 方法 
     def office(self): 
         return "%s在办公" %self.name 
     def internet(self): 
         return "%s在上网" %self.name 
     def movies(self): 
         return "%s在看片" %self.name 
         
zhangsan = Computer("张三") 
print(zhangsan.office()) 
lisi = Computer("李四") 
print(lisi.movies())示例:初始化函数
class Calc(): 
'''计算器类'''
    def __init__(self, num1, num2): 
        self.num1 = num1 
        self.num2 = num2 
    def jia(self): 
        return self.num1 + self.num2 
    def jian(self): 
        return self.num1 - self.num2 
    def cheng(self): 
        return self.num1 * self.num2 
    def chu(self): 
        return self.num1 / self.num2 
        
calc = Calc(6, 6) 
print(calc.jia())