- Kub
- Rätblock
- Pyramid - kvadratisk bas och symetrisk
- Cylinder
- Klot
Vi kan skapa alla klasserna i samma modul. Här är klassen för Kuben:
class Kub : def __init__(self, sida): self.sida=sida def volym(self): return self.sida*self.sida*self.sida def area(self): return self.sida*self.sida*6
Övning 2.22
Skapa klasser för de övriga klosstyperna i samma modul (fil). Tips: tänk på vilka mått som måste anges för de olika typerna och undvik åäö.
Vi kan nu använda klasserna för att skapa objekt och utföra beräkningar med dessa. Till exempel ta reda på sammanlagda volymen av en kub med sidan 8 och ett klot med radien 4. I huvudprogrammet skriver vi:
kuben=Kub(8) klotet=Klot(4) print(kuben.volym()+klotet.volym())
Uppgift 2.7
Bestäm sammanlagda arean av dessa tre objekt:
En pyramid med bas-sidan 5 och höjden 10
Ett rätblock med längden 8, bredden 4 och höjden 6
En cylinder med radien 5 och höjden 6
En metod som ändrar objektet
Ovanstående objekt kan inte förändras efter att de skapats. Vi kan göra de mer användbara genom att införa metoder som ändrar objektet. Till exempel ändrar dess storlek genom skalning. Följande version av klassen Ratblock kan skalas upp eller ned med metoden skala(k) där k är skalfaktorn:class Ratblock : def __init__(self, langd, bredd, hojd): self.langd=langd self.bredd=bredd self.hojd=hojd def skala(self, k): self.langd=self.langd*k self.bredd=self.bredd*k self.hojd=self.hojd*k def volym(self): return self.langd*self.bredd*self.hojd def area(self): return self.langd*self.hojd*2+self.bredd*self.hojd*2+self.bredd*self.langd*2
Övning 2.23
Lägg till skalningsmetoder för övriga klasser.
Övning 2.24
Hur mycket ändrar sig begräsningsarea och volym på en kub med sidan 4 som skalas upp 10 ggr.
Inga kommentarer:
Skicka en kommentar