面向對象的練習題目

建議用記事本寫好再用用環境運行這樣的效果好

1.(1)編寫一個矩形類Rect,包含:矩形的寬width;矩形的高height。要求創建對象的時候必須給width和height傳值

兩個方法:求矩形面積的方法area(),求矩形周長的方法perimeter()

(2)通過繼承Rect類編寫一個具有確定位置的矩形類PlainRect,其確定位置用矩形的左上角座標來標識,包含:

添加兩個屬性:矩形左上角座標start_x和start_y。要求創建PlainRect對象的時候width和height必須賦值,start_x和start_y可以賦值可以不賦值。

添加一個方法:判斷某個點是否在矩形內部的方法is_inside()。如在矩形內,返回True, 否則,返回False。

class Rect():
	def __init__(self,width,heigth):
		self.width = width
		self.heigth = heigth
		
	def area(self):
		s = self.width * self.heigth
		print(s)
	def perimeter(self):
		z = (self.width + self.heigth)*2
		print(z)
class PlainRact(Ract):
    def __init__(self,start_x,start_y,width,heigth)
    	self.start_x = start_x
        self.start_y = start_y
        #super().__init__(self,width,heigth)super方法調用
        Ract.__init__(self,width,heigth)#通過父類名調用	
    def is_inside(self,x,y):
        if x > 0 and x < self.start_x and y < 0 and y > -self.start_y:
            print('在矩形內部')
            return True
        else:
            print("不在矩形裏面")
            return False
           
if __name__ == '__main__':
    a = PlainRact(100,100,50,20)
    a.area()
    a.is_inside(20,20)

2.定義一個Time類,對象屬性包括:時、分、秒;通過init初始化屬性。對象方法有: add_hour(self,num) 把小時加num add_minute(self,num) 把分鐘加num add_second(self,num) 把秒數加num 定義show方法,打印格式化的時間字符串:“04:16:09”

class Time():
	
	def __init__(self,hour,min,second):
		self.hour = hour
		self.min = min
		self.second = second
		
	def add_hour(self,num):
		self.hour += num
		
	def add_minute(self,num):
		self.min += num
		
	def add_second(self,num):
		self.second += num
	def show(self):
		print("%02d:%02d:%02d"%(self.hour,self.min,self.second))
		
if __name__=="__main__":
	t = Time(15,45,9)
	t.add_hour(2)
	t.show()

3.定義一個交通工具(Vehicle)的類其中有:

類屬性最大速度max_speed = 120,對象屬性:顏色(color),品牌(brand),速度(speed) 。

方法: 移動(move() 打印brand品牌color顏色的車開始移動啦!)

設置最大速度(setMaxSpeed(max_speed) 參數是最大速度)

加速speedUp(), 對象屬性speed每次加10

減速speedDown(),對象屬性speed每次減10

打印對象可以現實交通工具的詳細信息

  1. 實例化一個交通工具對象並初始化speed,color,brand.
  2. 通過對象調用加速和減速,和移動方法
  3. 修改最大值速度是:150
  4. 打印對象顯示詳細信息
class Vehicle():
    max_speed = 120

    def __init__(self, color, brand, speed):
        self.color = color
        self.brand = brand
        self.speed = speed

    def move(self):
        print("%s品牌%s的車開始移動了,速度爲%d" % (self.brand, self.color, self.speed))

    def speedUp(self):
        self.speed += 10

    def speedDown(self):
        self.speed -= 10


if __name__ == '__main__':
    p = Vehicle('red', '姐姐好', 50)
    Vehicle.max_speed = 150
    print(Vehicle.max_speed)
    p.speedUp()
    p.speedUp()
    p.speedUp()
    p.move()
    print(p)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章