什么是面向对象编程?

面向过程编程:是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程。

面向对象编程:是一种计算机编程架构,以对象为中心的编程思想,对现实世界理解和抽象的方法。

类、对象它们之间的关系:

  • 类:类是对现实生活中一类具有共同特征的事物的抽象描述。例如电脑类、空调类、人类

  • 对象:类的实体,实际存在的事物,例如电脑类的“主机”、“显示器”

  • 类与对象的关系:类是由对象来定,这个过程叫做抽象化。用类创建对象,这个过程称为实例化

类的其他特点:

  • 封装:把相同对象的功能(函数)、属性(变量)组合在一起

  • 方法:对象的功能(例如电脑能上网、看片),实际在类里面就是函数,称为成员函数,也可以称为方法

  • 属性:对象的特征(例如电脑都有主机、显示器)

  • 实例化:用类创建对象,这个对象具体是什么东西,例如你用的电脑、我这个人

类的定义

使用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())