在写程序的时候,经常会听到“类”和“对象”这两个词。比如你家里的路由器是个设备,而WiFi信号的强弱、连接的设备数量这些都可以通过程序来管理。如果我们想用代码模拟一个路由器的工作状态,就需要先定义一个类,再从这个类创建出具体的对象。
什么是类,什么又是对象
可以这么理解:类就像是房子的设计图纸,它规定了这个房子有几间卧室、厨房在哪、有没有阳台。而对象就是按照这张图纸真正盖出来的房子。每个房子(对象)都长得一样,但内部摆设、住的人可能不同。
比如我们有一个叫 Router 的类,用来描述路由器的基本功能。那创建出来的对象就可以是客厅的路由器、卧室的路由器,它们都基于同一个设计,但工作状态可能不一样。
类怎么创建对象
在 Python 这样的语言里,创建类和对象非常直观。先定义类,再通过调用类名来生成对象。
class Router:
def __init__(self, ssid, password):
self.ssid = ssid
self.password = password
self.devices = []
def connect(self, device_name):
self.devices.append(device_name)
print(f"{device_name} 已连接到 {self.ssid}")
# 创建对象
my_router = Router("HomeWiFi", "12345678")
my_router.connect("手机")
my_router.connect("笔记本")
上面这段代码中,Router 是类,my_router 就是通过这个类创建出来的对象。它有自己的 WiFi 名称、密码,还能记录哪些设备连上了。
每次你写 Router(...),就是在“盖一栋新房子”,也就是创建一个新对象。你可以创建多个:
living_room_router = Router("LivingRoom_WiFi", "pass2024")
bathroom_router = Router("Bathroom_WiFi", "weak_signal_888")
这两个对象各自独立,互不影响。改了客厅路由器的密码,不会影响厕所那个信号总断的路由器。
为什么这和WiFi覆盖有关
如果你在调试家里哪屋信号差,可以用这种思路写个小工具,把每个路由器抽象成对象,记录位置、信号强度、连接设备。这样一看就知道是不是书房的路由器负载太高,或者儿童房的覆盖根本没到位。
类创建对象不只是语法操作,它是把现实世界的问题搬到代码里的一种方式。搞懂这一点,以后看智能家居的控制逻辑也会更清楚。