美文网首页
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 面向对象作业

    0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]方法:a. 获取学生的姓名...

  • day16 面向对象

    01-recode 02-私有化 1.属性和方法的访问权限 2.python的私有化 3.python私有化的原理...

  • Python-day-12作业

    面向对象作业1:

  • 面向对象作业

    1设计一个倒计时器

  • 面向对象作业

    1.声明一个电脑类:属性:品牌、颜色、内存大小方法:打游戏、写代码、看视频 a.创建电脑类的对象,然后通过对象点的...

  • day16(面向对象基础)

    打印id 在创建对象时,如果直接打印对象名,会直接打印它的基本信息 __str__方法 在python中方法名如果...

  • Day16面向对象2

    类和对象 1.类的声明 class 类名:类的内容 2.属性 - 声明在类中的变量 a.对象属性 - 值会因为对象...

  • day16 面向对象2

    1.访问权限私有的:在类的外部不可以使用,也不可以继承保护的:在类的外部不可以使用,可以继承公开的:在类的外部可以...

  • 面向对象3作业

    0.定义⼀一个学⽣生类。有属性:姓名、年年龄、成绩(语⽂文,数学,英语)[每课成绩的类型为整数]⽅方法:a. 获取...

  • day16面向对象和pygame

    1.类的继承 python中的类支持继承,并且支持多继承 1.什么是继承父类(超类): 被继承的类子类 :去继承的...

网友评论

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

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