唐山市网站建设_网站建设公司_表单提交_seo优化
2026/1/8 16:21:18 网站建设 项目流程

一、面向对象的核心思想

面向对象编程的核心是以 “对象” 为中心组织代码,把现实世界中的事物抽象为程序中的 “对象”,每个对象包含:

  • 属性:描述事物的特征(如人的姓名、年龄,手机的品牌、价格);
  • 方法:事物能执行的行为(如人走路、说话,手机打电话、发短信)。

对比面向过程编程(按步骤写代码),面向对象更贴合人类对现实世界的认知,代码复用性、可维护性更高。

二、核心基础概念

1. 类(Class)—— 对象的 “模板”

类是对一类事物的抽象定义,相当于创建对象的 “模板” 或 “蓝图”,定义了这类事物共有的属性和方法。

  • 比如:“手机” 类,定义了所有手机都有的属性(品牌、价格)和方法(打电话、发短信);
  • 语法:用class 类名:定义,类名遵循 “大驼峰命名法”(如PhonePerson)。
2. 对象(Object/Instance)—— 类的 “实例”

对象是类的具体实例,是根据类模板创建的 “具体事物”。

  • 比如:“华为 Mate60” 是 “手机” 类的一个对象,“苹果 iPhone15” 是另一个对象;
  • 一个类可以创建无数个对象,每个对象有自己的属性值,但共享类的方法。
3. 属性(Attribute)—— 对象的 “特征”

属性是对象的静态特征,分为两类:

  • 类属性:属于类本身,所有对象共享(如所有手机都属于 “电子产品” 这个类别);
  • 实例属性:属于单个对象,每个对象的属性值可不同(如手机的价格、颜色)。
4. 方法(Method)—— 对象的 “行为”

方法是对象的动态行为,本质是定义在类中的函数,分为三类:

  • 实例方法:最常用,第一个参数必须是self(代表当前对象),通过对象调用;
  • 类方法:第一个参数是cls(代表当前类),用@classmethod装饰,通过类 / 对象调用;
  • 静态方法:无默认参数,用@staticmethod装饰,与类 / 对象无关,仅作为类的 “工具函数”。

三、核心概念的代码实现

1. 类与对象的基础用法

python

# 1. 定义类(模板) class Phone: # 类属性:所有对象共享 category = "电子产品" # 初始化方法:创建对象时自动执行,用于定义实例属性 def __init__(self, brand, price, color): # 实例属性:每个对象独有 self.brand = brand # 品牌 self.price = price # 价格 self.color = color # 颜色 # 实例方法:对象的行为,self代表当前对象 def call(self): print(f"{self.brand}手机({self.color})正在拨打电话") # 类方法:操作类属性,cls代表当前类 @classmethod def change_category(cls, new_category): cls.category = new_category print(f"类属性已修改:{cls.category}") # 静态方法:工具函数,与类/对象无关 @staticmethod def calculate_discount(price, discount): return price * discount # 2. 创建对象(实例化) phone1 = Phone("华为", 5999, "黑色") # 第一个对象 phone2 = Phone("苹果", 7999, "白色") # 第二个对象 # 3. 访问属性和方法 # 访问实例属性 print(phone1.brand) # 输出:华为 print(phone2.price) # 输出:7999 # 访问类属性(类/对象均可调用) print(Phone.category) # 输出:电子产品 print(phone1.category) # 输出:电子产品 # 调用实例方法 phone1.call() # 输出:华为手机(黑色)正在拨打电话 phone2.call() # 输出:苹果手机(白色)正在拨打电话 # 调用类方法 Phone.change_category("智能设备") # 输出:类属性已修改:智能设备 print(phone2.category) # 输出:智能设备(所有对象共享修改后的类属性) # 调用静态方法 discount_price = Phone.calculate_discount(5999, 0.8) print(f"折扣价:{discount_price}") # 输出:折扣价:4799.2
2. 关键概念解析
  • __init__方法:称为 “构造方法 / 初始化方法”,创建对象时自动执行,用于给对象初始化实例属性;
  • self:不是关键字,只是约定俗成的参数名,代表当前对象本身,调用实例方法时 Python 会自动传入;
  • 实例化:创建对象的过程,语法是对象名 = 类名(参数),参数对应__init__方法的参数(除 self 外);
  • 类属性 vs 实例属性:
    • 类属性存在于类的命名空间中,所有对象共享,修改类属性会影响所有对象;
    • 实例属性存在于每个对象的命名空间中,修改一个对象的实例属性不影响其他对象。

四、面向对象的核心原则(补充)

理解基本概念后,需了解 OOP 的核心设计原则,为后续学习三大特性打基础:

  1. 抽象:把现实事物的核心特征提取出来定义为类(比如手机只关注品牌、价格、打电话,忽略重量、尺寸等非核心特征);
  2. 封装:后续会详细讲,核心是把属性和方法绑定在类中,隐藏内部细节;
  3. 复用:通过类和对象,避免重复编写相同代码(比如多个手机对象共享call方法)。

五、常见误区

  1. 混淆类和对象:类是模板(抽象),对象是具体实例(比如 “手机” 是类,“我的华为手机” 是对象);
  2. 忘记self参数:实例方法必须带self,否则调用时会报错;
  3. 类属性和实例属性混用:如需每个对象有独立的属性值,用实例属性;如需所有对象共享,用类属性。

总结

  1. 是对象的模板,定义了一类事物的共有属性和方法;对象是类的具体实例,有自己的属性值;
  2. 属性分类属性(共享)和实例属性(独有),方法分实例方法(self)、类方法(cls)、静态方法(无默认参数);
  3. __init__是初始化方法,创建对象时自动执行,用于初始化实例属性;self代表当前对象,是实例方法的必选参数。

这些基本概念是学习 Python 面向对象编程的基石,掌握后可进一步学习封装、继承、多态三大核心特性。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询