美文网首页
day16 面向对象作业

day16 面向对象作业

作者: _最美不是下雨天_ | 来源:发表于2019-01-14 20:53 被阅读0次

    0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
    方法:
    a. 获取学生的姓名:getname()
    b. 获取学生的年龄:getage()
    c. 返回3门科目中最高的分数。get_course()

    class Student(object):
        def __init__(self, name, age, score):
            self.name = name
            self.age = age
            self._score = score
            for i in self._score:
                if not isinstance(self._score[i], int):
                    raise ValueError
    
        def getname(self):
            return self.name
    
        def getage(self):
            return self.age
    
        @property
        def score(self):
            return self._score
    
        @score.setter
        def score(self, value):
            for i in value:
                if not isinstance(value[i], int):
                    raise ValueError
                self._age = value
    
        def get_course(self):
            max = self._score['语文']
            for i in self._score:
                if max < self._score[i]:
                    max = self._score[i]
            return max
    
    
    stu1 = Student('AA', 17, {'语文': 23, '数学': 88, '英语': 100})
    print(stu1.score)
    stu1.score = {'语文': 23, '数学': 88, '英语': 100}
    print(stu1.score)
    print(stu1.get_course())
    

    1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。
    再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量 覆盖加速 减速的方法

    class Auto(object):
        def __init__(self, tyre, weight=1, speed=100):
            self.tyre = tyre
            self.color = '蓝色'
            self.weight = weight
            self.speed = speed
        def speedup(self):
            self.speed+=1
            print('加速了1')
        def speeddown(self):
            self.speed-=1
            print('减速了1')
        def stop(self):
            self.speed=0
            print('停车了!')
    
    class CarAuto(Auto):
        def __init__(self,tyre, weight, speed,conditioner,CD):
            super().__init__(tyre, weight, speed)
            self.conditioner = conditioner
            self.CD = CD
        def speedup(self):
            self.speed+=10
            print('加速了10')
        def speeddown(self):
            self.speed-=10
            print('加速了10')
    
    
    C1 =CarAuto(4,2,100,'中央空调','蓝莲花')
    print(C1.speeddown())
    

    2.创建一个名为User 的类,其中包含属性firstname 和lastname ,还有用户简介通常会存储的其他几个属性。
    在类User 中定义一个名 为describeuser() 的方法,它打印用户信息摘要;再定义一个名为greetuser() 的方法,它向用户发出个性化的问候。

    class User:
        def __init__(self,firstname,synopsis,lastname=''):
            self.firstname = firstname
            self.lastname =lastname
            self.synopsis = synopsis
        def describeuser(self):
            return (self.synopsis['name']+self.synopsis['age'])
        def greetuser(self):
            return '%s,您好!'%self.synopsis['name']
    user1 = User('X',{'name':'小明','age':16},'A')
    print(user1.greetuser())
    

    3.创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数

    class Person(object):
        num = 0
        def __init__(self,name='zhangsan'):
            self.name = name
            Person.num+=1
    p1 =Person()
    P2 =Person()
    print(p1.name,Person.num)
    

    相关文章

      网友评论

          本文标题:day16 面向对象作业

          本文链接:https://www.haomeiwen.com/subject/kefsdqtx.html