面向对象题目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象题目相关的知识,希望对你有一定的参考价值。

1、随机数生成类
可以指定一批生成的个数,可以指定生成范围,可以调整每批生成数字的个数

import random
#1普通类实现
class RandomGen:
    def __init__(self, num=10,start=1,stop=100,patch=10):
        self.start = start
        self.stop = stop
        self.patch = patch

    def generate(self):
        return [random.randint(self.start,self.stop) for _ in range(self.patch)]

#2作为工具类实现,提供类方法
class RandomGen:
    @classmethod
    def generate(cls,start=1,stop=100,patch=10):
        return [random.randint(start,stop) for _ in range(patch)]

2、打印坐标
使用上题中的类,随机生成20个数字,两两配对形成二维坐标系的坐标,把这些打印组织起来,并打印输出

class Point:
def __init__(self,x,y):
    self.x = x
    self.y = y

points = [Point(x,y) for x ,y in zip(RandomGenerator(10).generate(),RandomGenerator(10).generate())]

for p in points:
    print(‘{}:{}‘.format(p.x,p.y))

3、车辆信息
记录车的品×××mark、颜色color、价格price、速度speed等特征,并实现增加车辆信息、显示车辆全部信息的功能

class Car:
def __init__(self,mark,color,price,speed):
    self.mark = mark
    self.color = color
    self.price = price
    self.speed = speed

class CarInfo:
def __init__(self):
    self.info = []

def addcar(self,car:car):
    self.info.append(car)

def getall(self):
    return self.info

ci = CarInfo()
car = Car(‘ahuang‘,400,‘rad‘,10)
ci.addcar(car)
ci.getall()  # 返回所有数据,此时在实现格式打印

以上是关于面向对象题目的主要内容,如果未能解决你的问题,请参考以下文章

面向面试编程代码片段之GC

PHP面向对象之选择工厂和更新工厂

Java中面向对象的三大特性之封装

python之路之前没搞明白4面向对象(封装)

Scala的面向对象与函数编程

Python面向对象学习之八,装饰器