当前位置: 首页 > web >正文

DAY 28 类的定义

1. 类的定义

类是对象的蓝图,定义了对象的属性和方法。

# 定义一个简单的类
class Dog:pass# 创建 Dog 类的实例
my_dog = Dog()

2. 类的初始化方法

init 是类的初始化方法,在创建对象时自动调用,用于初始化对象的属性。

class Cat:# 初始化方法def __init__(self, name, age):self.name = nameself.age = age# 创建 Cat 类的实例
my_cat = Cat("Tom", 3)
print(f"猫的名字是 {my_cat.name},年龄是 {my_cat.age} 岁。")

3. 类的普通方法

普通方法定义在类内部,用于实现类的特定功能。

class Rectangle:def __init__(self, length, width):self.length = lengthself.width = width# 普通方法,用于计算矩形面积def area(self):return self.length * self.width# 创建 Rectangle 类的实例
my_rectangle = Rectangle(5, 3)
print(f"矩形的面积是 {my_rectangle.area()}。")

4. 类的继承

子类可以继承父类的属性和方法,也可以扩展或重写父类的方法。

# 定义父类
class Animal:def __init__(self, name):self.name = namedef speak(self):print(f"{self.name} 发出声音")# 定义子类,继承自 Animal 类
class Dog(Animal):# 重写父类的 speak 方法def speak(self):print(f"{self.name} 汪汪叫")# 创建 Dog 类的实例
my_dog = Dog("Buddy")
my_dog.speak()

5.总结

  1. 类的定义:类是对象的蓝图,封装属性和方法,将现实实体抽象为编程概念,如简单的 Dog 类示例。
  2. 类的初始化方法__init__ 是特殊方法,创建对象时自动调用,用 self 绑定参数以初始化实例属性,像 Cat 类借此设定名字和年龄。
  3. 类的普通方法:定义在类内,首个参数多为 self,用于访问实例属性并实现特定功能,如 Rectangle 类的 area 方法算面积。
  4. 类的继承:子类可继承父类属性和方法,能扩展新内容或重写父类方法,如 Dog 类继承 Animal 类后重写 speak 方法。
http://www.xdnf.cn/news/6762.html

相关文章:

  • 安全生产调度管理系统的核心功能模块
  • 数学复习笔记 15
  • Ubuntu安装Nginx详细示例
  • mobile预览
  • 初识仓颉编程语言:高效、简洁与创新的编程选择
  • Unity3D 游戏编程内存优化技巧
  • 在MYSQL中导入cookbook.sql文件
  • Java线程池(Thread Pool)性能优化解析
  • 基于摩尔信使MThings的Modbus协议转换效率优化实践
  • 原生小程序+springboot+vue+协同过滤算法的音乐推荐系统(源码+论文+讲解+安装+部署+调试)
  • 报表控件stimulsoft教程:如何在报表和仪表板中创建热图
  • 兰亭妙微设计:为生命科技赋予人性化的交互语言
  • 相机Camera日志分析之九:高通相机Camx 基于预览1帧的ConfigureStreams二级日志分析详解
  • Python OOP核心技巧:如何正确选择实例方法、类方法和静态方法
  • Redis(三) - 使用Java操作Redis详解
  • 非国产算力DeepSeek 部署中的常见问题及解决方案
  • git 修改一个老commit,再把修改应用到所有后续的 commit
  • Go的单测gomock及覆盖率命令
  • 洛谷 P1375:小猫 ← 预处理模逆元 + 卡特兰数
  • nacos配置文件快速部署另一种方法
  • 第十天——贪心算法——深度总结
  • 提高表达能力
  • FC7300 DMA MCAL 配置引导
  • idea 中引入python
  • 无人设备遥控器的信号传输与抗干扰技术
  • 动态图标切换的艺术
  • 软件架构风格系列(1):分层架构如何让系统“稳如泰山”?
  • AI 笔记 -基于retinaface的FPN上采样替换为CARAFE
  • Android framework 中间件开发(一)
  • 149.WEB渗透测试-MySQL基础(四)