python - 未调用派生类中的继承
问题描述
我是这个堆栈溢出的新手,这是我在这里的第一个问题。我正在学习 python,但我遇到了继承问题。我认为我的代码是正确的,但它没有从派生/子类继承父/基类。我尝试了两种继承方式。它正在打印 Normalphones 类的全名,但不是 Smartphones。我的代码在这里。帮我。
class Normalphones: # base class/ parent class
def __init__(self, brand, model_name, price):
self.brand = brand
self.model_name = model_name
self._price = max(price, 0)
def full_name(self):
return f"{self.brand} {self.model_name}"
def make_a_call(self, number):
return f"Calling {number} ...."
class Smartphones: # derived class / child class
def __init__(self, brand, model_name, price, ram, internal_memory, rear_camera):
Normalphones.__init__(self, brand, model_name, price) # uncommom way to inherit
# super().__init__(brand, model_name, price)
self.ram = ram
self.internal_memory = internal_memory
self.rear_camera = rear_camera
noramalphone1 = Normalphones('Nokia', '1150', 1200)
smartphone1 = Smartphones('I-phone', '11 max pro', 90000, '6 Gb', '128 Gb', '48 MP')
print(noramalphone1.full_name())
print(smartphone1.full_name())
解决方案
这是您继承的方式:智能手机类(普通手机):
class Normalphones: # base class/ parent class
def __init__(self, brand, model_name, price):
self.brand = brand
self.model_name = model_name
self._price = max(price, 0)
def full_name(self):
return f"{self.brand} {self.model_name}"
def make_a_call(self, number):
return f"Calling {number} ...."
class Smartphones(Normalphones): # derived class / child class
def __init__(self, brand, model_name, price, ram, internal_memory, rear_camera):
super().__init__(brand, model_name, price)
self.ram = ram
self.internal_memory = internal_memory
self.rear_camera = rear_camera
noramalphone1 = Normalphones('Nokia', '1150', 1200)
smartphone1 = Smartphones('I-phone', '11 max pro',
90000, '6 Gb', '128 Gb', '48 MP')
print(noramalphone1.full_name())
print(smartphone1.full_name())
推荐阅读
- python-3.x - 如何在列表中只切出我需要的信息
- python - 如何“或”稀疏 Scipy 矩阵的列?
- r - 使用 ggplot 绘图时出错。geom_path:每组仅包含一个观察值。需要调整群体审美吗?
- ios - 为什么这个用于拖放的 Swift 代码在 iOS 上可以正常工作,但在 macOS 上却不行?
- javascript - 基于click vuejs tailwind更改按钮
- vb.net - 用逗号和单引号连接字符串 例如 ('ABC','DEF','GHI,'JKL')
- swift - Swift:从 Locazilable.string 加载 Main.strings 的字符串文本
- telegram-bot - 如何通过 python-telegram-bot 工具获取电报频道的消息
- javascript - 如何使用 mobx 让 autorun 与 runInAction 一起工作?
- sql - 如何使用 SQL 将 Null 转换为空字符串