• Nie Znaleziono Wyników

Polimorfizm – Energie: kinetyczna i potencjalna

N/A
N/A
Protected

Academic year: 2021

Share "Polimorfizm – Energie: kinetyczna i potencjalna"

Copied!
2
0
0

Pełen tekst

(1)

Copyright © 2018, mgr inż. Janusz Bonarowski

1 Polimorfizm – Energie: kinetyczna i potencjalna

Zadanie Klasa bazowa

Utworzymy klasę bazową Energia_ciala. Niech klasa bazowa posiada dwie właściwości.

 Jedną właściwością niech będzie Masa ciała. Zdefiniujemy ją w tej klasie „zwyczajnie” – patrz kod.

 Druga właściwością niech będzie właściwość abstrakcyjna o nazwie Wlasciwosc zadeklarowana z atrybutem MustOverride.

Niech klasa bazowa posiada metodę Energia także zadeklarowana z atrybutem MustOverride.

Klasy potomne

Utwórzmy klasy potomne: Energia_kinetyczna i Energia_potencjalna, które dziedziczą po klasie bazowej Energia_ciala.

Aby w klasie potomnej Energia_kinetyczna napisać metodę Energia obliczającą energię kinetyczną potrzebujemy oprócz Masy (która dziedziczymy) mieć także dostęp do prędkości. Prędkość zdefiniujemy poprzez właściwość abstrakcyjną Wlasciwosc.

Podobnie dla klasy potomnej Energia_potencjalna - dostęp do Masy mamy (dziedziczenie), a tu Wysokość zdefiniujemy poprzez właściwość abstrakcyjną Wlasciwosc.

Kod – Class.vb

Public MustInherit Class Energia_ciala

Public MustOverride Property Wlasciwosc As Single Public MustOverride Function Energia() As Single Protected _Masa As Single

Public Property Masa As Single Get

Return _Masa End Get

Set(value As Single) _Masa = value End Set

End Property End Class

Public Class Energia_kinetyczna Inherits Energia_ciala

Private _Predkosc As Single

Public Overrides Property Wlasciwosc As Single Get

Return _Predkosc End Get

Set(value As Single) _Predkosc = value End Set

End Property

Public Overrides Function Energia() As Single Return _Masa * _Predkosc ^ 2 / 2

End Function End Class

Public Class Energia_potencjalna Inherits Energia_ciala

Private _Wysokosc As Single

Public Overrides Property Wlasciwosc As Single Get

Return _Wysokosc End Get

Set(value As Single) _Wysokosc = value End Set

End Property

Public Overrides Function Energia() As Single Return _Masa * 9.81 * _Wysokosc

End Function End Class

(2)

Copyright © 2018, mgr inż. Janusz Bonarowski

2 Kod – Form1.vb

Public Class Form1

Dim mojaEnergia As Energia_ciala

Private Sub ButtonOblicz_Click(sender As Object, e As EventArgs) _

Handles ButtonOblicz.Click mojaEnergia = New Energia_kinetyczna

mojaEnergia.Masa = CSng(TextBoxMasa.Text)

mojaEnergia.Wlasciwosc = CSng(TextBoxPredkosc.Text) TextBoxEK.Text = CSng(mojaEnergia.Energia)

mojaEnergia = New Energia_potencjalna mojaEnergia.Masa = CSng(TextBoxMasa.Text)

mojaEnergia.Wlasciwosc = CSng(TextBoxWysokość.Text) TextBoxEP.Text = CSng(mojaEnergia.Energia)

End Sub End Class

Rysunek 1. Aplikacja w działaniu

Cytaty

Powiązane dokumenty

Temat: Energia potencjalna grawitacji i potencjalna sprężystości. Tradycyjnie zaczniemy od filmu https://youtu.be/bY47tv5Crk8. Zapiszcie

współfinansowany ze ´srodków Unii Europejskiej w ramach Europejskiego

Gdy zmienia się konfiguracja układu siła wykonuje pracę W 1 nad ciałem, przy czym energia Kinetyczna ciała zamienia się na inną postać energii układu. Gdy zmiana

Utwórzmy klasy potomne: Energia_kinetyczna i Energia_potencjalna, które dziedziczą po klasie bazowej Energia_ciala. Niech właściwości klas potomnych będą określane

Wskaż siłomierz, w którego sprężynie została zmagazynowana większa energia potencjal na sprężystości. Wskaż położenie trampoliny, przy którym jest w niej zgromadzona

• samochód rusza z miejsca. Dopasuj wykres do sytuacji. Wstaw w puste miejsce odpowiednią literę. Na wykresie pokazano zależność energii kinetycznej od prędkości dla trzech

Ponieważ dziewczynka pokonuje działanie siły grawitacji obliczamy energię potencjalną dziewczynki.. Jaka jest energia potencjalna książki o masie 20 dag podniesionej na wysokość

obliczenie wartości energii kinetycznej wymaga znajomości masy oraz prędkości danego ciała.. Jaką masę ma pocisk lecący z szybkością 300 m/s, jeżeli jego energia