概述
1.1.什么是面向对象编程?
面向过程编程:以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程。
面向对象编程:是一种计算机编程架构,以对象为中心的编程思想,对现实世界理解和抽象的方法。
1.2.类与对象之间的关系
• 类:是对现实生活中一类具有共同特征的事物的抽象描述。例如电脑类、空调类、人类
• 对象:类的实体,实际存在的事物,例如电脑类的“主机”、“显示器”
• 类与对象的关系:类由对象来定,这个过程叫做抽象化。用类创建对象,这个过程称为实例化
类的其他特点:
• 封装:把相同对象的功能(函数)、属性(变量)组合在一起
• 方法:对象的功能(例如电脑能上网、看片),实际在类里面就是函数,称为成员函数,也可以称为方法
• 属性:对象的特征(例如电脑都有主机、显示器)
• 实例化:用类创建对象,这个对象具体是什么东西,例如你用的电脑、我这个人
1.3.类的书写规范
• 类一般采用大驼峰命名,例如MyClass
• 类注释,用于说明该类的用途,提高可阅读性
• 类中只存在两种数据:属性和方法
• 声明属性必须赋值
• 声明方法的第一个参数必须是self,其他与普通函数一样
• 一般会使用__init__方法给类指定的初始状态属性
1.4.类的实例化
• 实例化:用类创建对象的过程 示例
• 类实例:用类创建对象 pc = Computer() # 类实例化,pc是类实例
• 实例属性:对象的属性 print(pc.host) # 访问类属性,查看电脑配置
• 实例方法:对象调用的方法 print(pc.movies()) # 访问类方法,让电脑做事
1.5.示例
不传入参数
# 电脑类
class MyComputer():
# 属性(特征)
def __init__(self):
self.host = "4C8G"
self.price = "3000元"
# 方法(功能)
def internet(self):
print("上网")
pc = MyComputer()
print(pc.price)
pc.internet()
传入name参数
# 电脑类
class MyComputer():
# 属性(特征)
def __init__(self, name):
self.host = "4C8G"
self.name = name
# 方法(功能)
def office(self):
print(f"{}在办公...")
def internet(self):
print(f"{}在上网...")
pc1 = MyComputer('张三')
pc1.internet()
pc2 = MyComputer('李四')
pc2.office()