python定义一个dog类 类属性有名字毛色体重_面向对象实践,练习,Python
1、定義一個汽車類(Car),屬性有顏色,品牌,車牌號,并實例化兩個對象
2、定義一個球員類(Player),屬性有身高、體重、姓名,實例化兩個球員,分別是姚明和科比
3、定義一個僵尸類(Zombie),屬性有名字、體力值、攻擊力,實例化三個僵尸類,并給屬性賦值。
4、設計一個立方體類(Box),定義三個屬性,分別是長、寬、高。定義兩個方法,分別計算并輸出立方體的體積和表面積
5、請定義一個交通工具(Vehicle)的類,其中有:
屬性:速度(speed)、體積(size)等等
方法:移動(move(s))、設置速度(setSpeed(speed)),加速speedUp(),減速speedDown() 等等
最后測試中實例化一個交通工具對象,并通過方法給它初始化speed,size的值,并且通過打印出來。另外,調用加速,減速的方法對速度進行改變
class Vehicle():
def __init__(self,speed,size):
self.__speed = speed
self.size = size
def move(self,s):
print("移動了%d"%s)
def setSpeed(self,speed):
if str(speed).isdigit():
self.__speed = speed
else:
print("請輸入正確速度")
def speedUp(self):
self.__speed += 10
print("當前速度速度",self.__speed)
def speedDown(self):
self.__speed -= 10
print("當前速度速度", self.__speed)
def test():
v = Vehicle(30,15)
v.move(20) # 移動20
v.setSpeed(50) # 設置速度為50
v.speedUp() # 加速一次
v.speedUp() # 加速一次
v.speedDown() # 減速一次
if __name__ == "__main__":
test() # 調用 test() 方法
6、定義一個Hero類
屬性有 power,name,分別代表體力值和英雄的名字,體力值默認為100;
方法有:
(1)go() // 行走的方法,如果體力值為0,則輸出不能行走,此英雄已死亡的信息
(2)eat(int n) // 吃的方法,參數(shù)是補充的血量,將n的值加到屬性power中,power的值最大為100
(3)hurt() // 每受到一次傷害,體力值-10,體力值最小不能小于0
class Hero():
def __init__(self,name):
self.__name = name
self.__power = 100
def go(self):
if self.__power<=0:
print("不能行走,此英雄已死亡")
else:
print("英雄前進")
def eat(self,n):
self.__power += n
if self.__power>100:
self.__power = 100
print("當前體力值:",self.__power)
def hurt(self):
self.__power -= 10
if self.__power <=0:
self.__power = 0
print("此英雄已死亡")
print("當前體力值:", self.__power)
h = Hero("程咬金")
h.go()
for i in range(10):
h.hurt()
h.eat(120)
7、定義一個計算器:它的功能有加、減、乘、除、累加、階乘、求平方、求次方,判斷一個數(shù)是否為素數(shù);并寫測試類來測試這個方法
8、編寫Python程序,用于顯示人的姓名和年齡。
定義一個人類(person),該類中應有兩個私有屬性,姓名(name)和年齡(age)。
定義構造方法,用來初始化數(shù)據(jù)成員。再定義顯示(display)方法,將姓名和年齡打印出來。
在測試方法中創(chuàng)造人類的實例,然后將信息顯示。
class Person():
def __init__(self,name,age):
self.__name = name
self.__age = age
def display(self):
print("姓名:%s,年齡:%d"%(self.__name,self.__age))
def test():
p = Person("FGL",30)
p.display()
test()
9、定義一個類,該類有一個成員變量,通過構造方法將其進行賦初值,并提供該成員的 get_XXX() 和 set_XXX()方法
10、為“無名的粉”寫一個類:class WuMingFen 要求:
(1)有三個屬性:面碼:theMa粉的份量(兩):quantity 是否帶湯:likeSoup
(2)寫一個構造方法,以便于簡化初始化過程,如:
f1 = WuMingFen(“牛肉”,3,true)
(3)測試可否有多個構造方法 -----> (不允許)
(4)寫一個普通方法:check(),用于查看粉是否符合要求。即:將對象的三個屬性打印在控制臺上
class WuMingFen():
def __init__(self,theMa,quantity,likeSoup):
self.__theMa = theMa
self.__quantity = quantity
self.__likeSoup = likeSoup
print("三個參數(shù)")
def check(self):
print(self.__theMa,self.__quantity,self.__likeSoup)
wmf = WuMingFen('大號',10,'dou-ting-hao')
wmf.check()
11、寫一個名為Account的類模擬賬戶,該類的屬性和方法如下圖所示。該類包括的屬性:賬號id,余額balance,年利率annualInterestRate;包含的方法:訪問器方法(getter 和 setter方法),取款方法 withdraw(),存款方法deposit()。
提示:在提款方法withdraw中,需要判斷用戶余額是否能夠滿足提款數(shù)額的要求,如果不能,應給出提示。
創(chuàng)建Customer類。
a、聲明三個私有對象屬性:firstName、lastName 和 account
b、聲明一個公有構造器,這個構造器帶有兩個代表對象屬性的參數(shù)(f 和 l)
c、聲明兩個公有存取器來訪問該對象屬性,方法 getFirstName 和 getLastName 返回相應的屬性。
d、聲明setAccount 方法來對 account 屬性賦值
e、聲明getAccount 方法以獲取 account 屬性
繼承1:
定義一個名為Vehicles(交通工具)的基類,該類中應包含 str 類型的成員屬性 brand(商標)和 color(顏色),還應包含成員方法 run(行駛,在控制臺顯示“我已經開動了”)和 showInfo(顯示信息,在控制臺顯示商標和顏色),并編寫構造方法初始化其成員屬性。編寫Car(小汽車)類繼承于 Vehicles 類,增加 float 型成員屬性load(載重),還應增加成員方法 showTruck(在控制臺顯示卡車的信息),并編寫構造方法。在測試方法中測試以上各類。
class Vehicles():
def __init__(self,brand,color):
self.brand = brand # 私有屬性不能被下面的繼承,所以你想他被繼承,就不能再寫成私有的__brand、__color了
self.color = color
def run(self):
print("我已經開動了")
def showinfo(self):
print(self.brand,self.color)
class Car(Vehicles): # Vehicles類的基類
def __init__(self,brand,color,seats): # 因為把父類的屬性繼承過來了,所以在調用父類構造函數(shù)的時候得給它賦值
super().__init__(brand,color)
self.__seats = seats # seat是子類特有的屬性
def showcar(self):
self.showinfo() # 直接繼承父類中的方法
print(self.__seats)
class Truck(Vehicles): # Vehicles類的基類
def __init__(self,brand,color,load): # 因為把父類的屬性繼承過來了,所以在調用父類構造函數(shù)的時候得給它賦值
super().__init__(brand,color)
self.__load = load # seat是子類特有的屬性
def showTruck(self):
self.showinfo() # 直接繼承父類中的方法
print(self.__load)
c = Car("雪佛蘭","黑色",5)
c.run()
c.showcar()
t = Truck("東風","紅色",500)
t.run()
t.showTruck()
繼承2:
編寫一個類Calculate1,實現(xiàn) 加、減兩種算法,然后編寫另一個派生類 Calculate2,實現(xiàn)乘、除兩種運算
繼承3:
建立三個類:居民、成人、官員。居民包括身份證號、姓名、出生日期,而成人繼承自居民,多包涵學歷、職業(yè)兩項數(shù)據(jù);官員則繼承自成人,多包涵黨派、職務兩項數(shù)據(jù)。要求每一個類的字段都以屬性的方式對外提供數(shù)據(jù)輸入輸出功能。
覆蓋、繼承:
建立一個汽車 Auto類 ,包括輪胎個數(shù),汽車顏色,車身重量、速度等成員變量。并通過不同的構造方法創(chuàng)建實例。至少要求:汽車能夠加速,減速,停車。再定義一個 小汽車類Car,繼承Auto,并添加空調、CD等成員變量,覆蓋加速,減速的方法。
多態(tài)練習:
1、定義一個Animal父類,方法有eat():
2、定義三個子類:Cat、Dog、Eagle;每個子類增加新的方法,并重寫eat()
3、利用多態(tài)性
class jumin():
def __init__(self,idcard,name,birthday):
self.__idcard = idcard
self.__name = name
self.__birthday = birthday
def get_name(self):
return self.__name
def set_name(self,name):
self.__name = name
class chengren(jumin):
def __init__(self,idcard,name,birthday,xueli,job):
super().__init__(idcard,name,birthday)
self.__xueli = xueli
self.__job = job
class guanyuan(chengren):
def __init__(self, idcard, name, birthday, xueli, job,dangpai,zhiwu):
super().__init__(idcard,name,birthday,xueli,job)
self.__dangpai = dangpai
self.__zhiwu = zhiwu
gy = guanyuan("123","lhy","1998-1-23","博士","python教授","民主","科員")
name = gy.get_name()
print(name)
‘’’
‘’’
class person():
def
init
(self,name,age,sex):
self.__name = name
self.__age = age
self.__sex = sex
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
def get_age(self):
return self.__age
def set_age(self, age):
self.__age = age
def get_sex(self):
return self.__sex
def set_sex(self, sex):
self.__sex = sex
class student(person):
def
init
(self,name,age,sex,*mylist):
super().
init
(name,age,sex)
self.__mylist = mylist
def get_mylist(self):
return self.__mylist
def set_mylist(self,*mylist):
self.__mylist = mylist
def myavg(self):
sum = 0
for i in self.__mylist:
sum+=i
return sum/len(self.__mylist)
s = student(“hjx”,18,“男”,58,59,57,56,53)
s.set_mylist(1,2,3,4,5)
myavg = s.myavg()
print(myavg)
print(s.get_name())
‘’’
總結
以上是生活随笔為你收集整理的python定义一个dog类 类属性有名字毛色体重_面向对象实践,练习,Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python包导入方式_python导包
- 下一篇: python 乘法运算定律_计算机组成原