wanwanxiang 发表于 2020-6-9 09:19

python类、属性、方法

各位大佬,这题咋做啊{:301_972:}问题:定义一个花的基类,包含2个属性和至少一个方法,再定义玫瑰花和月季花两个派生子类,在派生类中,对基类的方法进行改写,最后分别创建3支玫瑰和5支月季花分别送经8个同学。

zldtb19931116 发表于 2020-6-9 09:34

没有c币我很难帮你做事啊

xinyuguy 发表于 2020-6-9 09:38

这个问题太难了    我 实在是 不会。。。。。。。。。。。好难 好难 。。。你按一下 alt + f4试试

楼主你好萌 发表于 2020-6-9 09:39

方法的继承与创建。。。我刚学JAVA 的

老狗丶 发表于 2020-6-9 10:06

建议你发悬赏区,有钱就有人帮你解决。

xxoopp 发表于 2020-6-9 10:18

本帖最后由 xxoopp 于 2020-6-9 11:14 编辑

'''
定义一个花的基类,包含2个属性和至少一个方法,再定义玫瑰花和月季花两个派生子类,
在派生类中,对基类的方法进行改写,最后分别创建3支玫瑰和5支月季花分别送经8个同学。
'''


class BaseFlower(object):
    param1 = '第一个类属性'
    param2 = '第二个类属性'

    def __init__(self, name):
      self.name = '这是第' + str(name) + '朵花'

    def flower_name(self):
      return self.name

    def printf(self):# 方法
      print(f'这是{self.name}')


class China_Rose(BaseFlower):
    def __init__(self, name):
      self.name = '这是第' + str(name) + '朵月季花'

    def printf(self):
      print(f'这是玫瑰花')


class Rose(BaseFlower):
    def __init__(self, name):
      self.name = '这是第' + str(name) + '朵玫瑰花'

    def printf(self):
      print(f'这是月季花')


class student(object):
    def __init__(self, name,flower):
      self.name = name
      self.flowser = flower

    def whoami(self):
      print(f'我是{self.name}我有{self.flowser.flower_name()}')


names = ['alex', 'john', 'lucifa', 'bob', 'tom', 'dan', 'yates', 'jack']

students={}
for i in range(1,9):
    rose=Rose(i) if i <4 else China_Rose(i)
    name=names
    students=student(name, rose)

for i in range(8):
    students}'].whoami()

lilips 发表于 2020-6-9 10:19

本帖最后由 lilips 于 2020-6-9 10:20 编辑

上课不听讲哈~~这么简单

pzx521521 发表于 2020-6-9 10:51

class Flower:
    name = 'flower'
    picture = ''

    def get_descript(self):
      return self.name + self.picture


class Flower_test(Flower):
    def get_descript(self):
      a = 'test!'
      a += super().get_descript()
      return a


class Rose(Flower):
    def get_descript(self):
      return 'roseeeee!'


class Rosa(Flower):
    def get_descript(self):
      return 'rosaaaaa!'


class Student:
    def __init__(self, flower):
      self.flower = flower


if __name__ == '__main__':
    for i in range(10):
      if i < 3:
            flower = Rose()
      else:
            flower = Rosa()
      student = Student(flower)
      print(student.flower.get_descript())

XAWAN 发表于 2020-6-9 10:57

class Flower():#花基类
        def __init__(self):
                self.color=None
                self.size=None
                self.set_color_size()
        def set_color_size(self):
                self.color=0x000000
                self.size=1

class Rugosa(Flower):#玫瑰
        def __init__(self):
                super().__init__()

        def set_color_size(self):
                self.color=0xFF0000
                self.size=2

class Rose(Flower):#月季
        def __init__(self):
                super().__init__()

        def set_color_size(self):
                self.color=0xFF0000
                self.size=2

if __name__ == '__main__':
        student1=Rugosa()
        student2=Rugosa()
        student3=Rugosa()
        student4=Rose()
        student5=Rose()
        student6=Rose()
        student7=Rose()
        student8=Rose()

txt写的,没调试过
页: [1]
查看完整版本: python类、属性、方法