2026/4/6 2:17:05
网站建设
项目流程
网站建设三合一,网站制作尺寸,wordpress 忘记用户名密码破解,ps做景观有哪些素材网站一、面向对象的核心思想面向对象编程的核心是以 “对象” 为中心组织代码#xff0c;把现实世界中的事物抽象为程序中的 “对象”#xff0c;每个对象包含#xff1a;属性#xff1a;描述事物的特征#xff08;如人的姓名、年龄#xff0c;手机的品牌、价格#xff09;把现实世界中的事物抽象为程序中的 “对象”每个对象包含属性描述事物的特征如人的姓名、年龄手机的品牌、价格方法事物能执行的行为如人走路、说话手机打电话、发短信。对比面向过程编程按步骤写代码面向对象更贴合人类对现实世界的认知代码复用性、可维护性更高。二、核心基础概念1. 类Class—— 对象的 “模板”类是对一类事物的抽象定义相当于创建对象的 “模板” 或 “蓝图”定义了这类事物共有的属性和方法。比如“手机” 类定义了所有手机都有的属性品牌、价格和方法打电话、发短信语法用class 类名:定义类名遵循 “大驼峰命名法”如Phone、Person。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.22. 关键概念解析__init__方法称为 “构造方法 / 初始化方法”创建对象时自动执行用于给对象初始化实例属性self不是关键字只是约定俗成的参数名代表当前对象本身调用实例方法时 Python 会自动传入实例化创建对象的过程语法是对象名 类名(参数)参数对应__init__方法的参数除 self 外类属性 vs 实例属性类属性存在于类的命名空间中所有对象共享修改类属性会影响所有对象实例属性存在于每个对象的命名空间中修改一个对象的实例属性不影响其他对象。四、面向对象的核心原则补充理解基本概念后需了解 OOP 的核心设计原则为后续学习三大特性打基础抽象把现实事物的核心特征提取出来定义为类比如手机只关注品牌、价格、打电话忽略重量、尺寸等非核心特征封装后续会详细讲核心是把属性和方法绑定在类中隐藏内部细节复用通过类和对象避免重复编写相同代码比如多个手机对象共享call方法。五、常见误区混淆类和对象类是模板抽象对象是具体实例比如 “手机” 是类“我的华为手机” 是对象忘记self参数实例方法必须带self否则调用时会报错类属性和实例属性混用如需每个对象有独立的属性值用实例属性如需所有对象共享用类属性。总结类是对象的模板定义了一类事物的共有属性和方法对象是类的具体实例有自己的属性值属性分类属性共享和实例属性独有方法分实例方法self、类方法cls、静态方法无默认参数__init__是初始化方法创建对象时自动执行用于初始化实例属性self代表当前对象是实例方法的必选参数。这些基本概念是学习 Python 面向对象编程的基石掌握后可进一步学习封装、继承、多态三大核心特性。