Python学习面向对象,对着视频教程写了这段代码,通过大家容易理解的装电脑的例子,体会Python面向对象编程,后期会根据学习情况不断完善重构代码,和添加注释,大家可以先复制运行,不断调试、理解。
class CPU(object):
"""
CPU类
"""
def _init_(self, brand, core, interface):
self.brand = brand
self.core = core
self.interface = interface
class RAM(object):
"""
内存类
"""
def _init_(self, brand, size):
self.brand = brand
self.size = size
class Disk(object):
"""
硬盘类
"""
def _init_(self, brand, size):
self.brand = brand
self.size = size
class Computer(object):
"""
电脑类
"""
def _init_(self, cpu_interface, ram_count, disk_count):
self.cpu_interface = cpu_interface
self.ram_count = ram_count
self.disk_count = disk_count
#以下三个属性是私有的,因为组装进去了,就不要随便动了
self._cpu = None
self._rams = []
self._disks = []
def add_cpu(self,cpu):
if cpu.interface == self.cup_interface:
self._cpu = cpu
else:
print('cpu型号不对,不能安装')
def add_ram(self,ram):
if len(self._rams) == self.ram_count:
print('内存条已经没有位置')
else:
self._rams.append(ram)
def add_disk(self,disk):
if len(self._disks) == self.disk_count:
print('硬盘已经没有位置安装了')
else:
self._disks.append(disk)
def run(self):
if not self.cup:
print('没有cpu,电脑不能正常运行')
return
elif len(self._rams) == 0 or len(self._rams) > self.ram_count:
print('内存条安装失败,电脑不能正常运行')
return
elif len(self._disks) == 0 or len(self._disks) > self.disk_count:
print('硬盘安装失败,电脑不能正常运行')
return
else:
print('所有配件都按照完毕,电脑正常启动........')
def main():
# 初始化一台电脑
computer = Computer('11211', 2, 2)
# 初始化一个cpu
cpu = CPU('intel', 4, '11211')
# 创建两个内存条
ram1 = RAM('jinshidun', '4G')
ram2 = RAM('jinshidun', '4G')
# 创建两个硬盘
disk1 = Disk('jinshidun', '256G')
disk2 = Disk('jinshidun', '256G')
# 组装cpu
computer.add_cpu(cpu)
# 组装内存条
computer.add_ram(ram1)
computer.add_ram(ram2)
computer.add_disk(disk1)
computer.add_disk(disk2)
# 让电脑跑起来
computer.run()
if __name__ == '_main_':
main()