• Nie Znaleziono Wyników

Class1.vb Budujemy klas

N/A
N/A
Protected

Academic year: 2021

Share "Class1.vb Budujemy klas"

Copied!
3
0
0

Pełen tekst

(1)

Zajęcia_01, vbWalek_obj_kolekcja

Copyright ©2015, mgr inż. Jacek Jusis, mgr inż.Janusz Bonarowski 1

Class1.vb

Budujemy klasę Stopien_walu_parametry.

Klasa ta pozwoli tworzyć kolejne instancje pojedynczego, niezależnego stopnia przechowując jego parametry

– czyli jego średnicę i długość

Public Class Stopien_walu_parametry Private _Srednica_stopnia As Single Private _Dlugosc_stopnia As Single

Public Property Srednica_stopnia As Single Get

Return _Srednica_stopnia End Get

Set(ByVal value As Single) _Srednica_stopnia = value End Set

End Property

Public Property Dlugosc_stopnia As Single Get

Return _Dlugosc_stopnia End Get

Set(ByVal value As Single) _Dlugosc_stopnia = value End Set

End Property End Class

Wał będzie się składał z wielu stopni. Kolejność stopni musi być zapamiętywana. Możemy to rozwiązać w różny sposób: (1) obiekt lista jednokierunkowa, (2) Collection. Obiekt lista jednokierunkowa musi być budowana przez programistę. Obiekt Collection jest dostarczany w bibliotece Visual Studio. Lista jednokierunkowa będzie się nazywała Stopien_walu_powiazania, a kolekcja przechowująca stopnie wału Kolekcja_stopni_walu.

Omówione zostaną oba sposoby, a ostatecznie do dalszej pracy pozostawiony zostanie obiekt Collection.

'Public Class Stopien_walu_powiazania ' Inherits Stopien_walu_parametry

' Public Stopien_walu_odziedziczony As Stopien_walu_parametry ' Public Adres_po As Stopien_walu_parametry

'End Class

Form1.vb

Public Class Form1 Dim x1 As Single Dim y1 As Single

Dim objRys As System.Drawing.Graphics

Dim objPioroOs As New System.Drawing.Pen(Color.Green, 1) Dim objPioroWal As New System.Drawing.Pen(Color.Red, 2) Dim X_osi As Integer = 50

Dim Y_osi As Integer = 200 Dim x_pocz As Integer = X_osi Dim Liczba_stopni As Integer

''Dim wsk_pocz_walka As Stopien_walu_powiazania ''Dim wsk_kon_walka As Stopien_walu_powiazania Dim Kolekcja_stopni_walu As New Collection

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load objRys = Me.CreateGraphics

End Sub

Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove LabelKoordynaty.Text = "X=" & e.X & " Y=" & e.Y

End Sub

(2)

Zajęcia_01, vbWalek_obj_kolekcja

Copyright ©2015, mgr inż. Jacek Jusis, mgr inż.Janusz Bonarowski 2

Private Sub Form1_MouseClick(sender As Object, e As MouseEventArgs) _

Handles Me.MouseClick Dim x_stopnia As Single

Dim y_stopnia As Single Dim szerokosc As Single Dim wysokosc As Single

Dim mojStopien As New Stopien_walu_parametry

''Dim mojStopien_powiazania As New Stopien_walu_powiazania objRys.DrawLine(objPioroOs, X_osi, Y_osi, 600, Y_osi) objRys.DrawLine(objPioroOs, X_osi, X_osi, X_osi, 350) x1 = e.X

y1 = e.Y

x_stopnia = x_pocz y_stopnia = y1

szerokosc = x1 - x_pocz wysokosc = (Y_osi - y1) * 2

objRys.DrawRectangle(objPioroWal, x_stopnia, y_stopnia, szerokosc, wysokosc) x_pocz = x_pocz + szerokosc

Liczba_stopni = Liczba_stopni + 1 mojStopien.Dlugosc_stopnia = szerokosc mojStopien.Srednica_stopnia = wysokosc ''If Liczba_stopni = 1 Then

'' mojStopien_powiazania.Stopien_walu_odziedziczony = mojStopien '' wsk_pocz_walka = mojStopien_powiazania

'' wsk_kon_walka = mojStopien_powiazania ''Else

'' mojStopien_powiazania.Stopien_walu_odziedziczony = mojStopien '' wsk_kon_walka.Adres_po = mojStopien_powiazania

'' wsk_kon_walka = mojStopien_powiazania ''End If

Kolekcja_stopni_walu.Add(mojStopien) End Sub

Private Sub PokażToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles PokażToolStripMenuItem.Click Call Narysuj()

End Sub

Private Sub SkasujToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles SkasujToolStripMenuItem.Click objRys.Clear(SystemColors.Control)

End Sub

Private Sub Narysuj()

Dim x_stopnia As Single Dim y_stopnia As Single Dim szerokosc As Single Dim wysokosc As Single

''Dim walek_tim As Stopien_walu_powiazania Dim wsk_kolekcji As Stopien_walu_parametry

objRys.DrawLine(objPioroOs, X_osi, Y_osi, 600, Y_osi) objRys.DrawLine(objPioroOs, X_osi, X_osi, X_osi, 350) x_pocz = X_osi

''walek_tim = wsk_pocz_walka ''For i = 1 To Liczba_stopni '' x_stopnia = x_pocz

'' y_stopnia = Y_osi - walek_tim.Stopien_walu_odziedziczony.Srednica_stopnia / 2

(3)

Zajęcia_01, vbWalek_obj_kolekcja

Copyright ©2015, mgr inż. Jacek Jusis, mgr inż.Janusz Bonarowski 3

'' szerokosc = walek_tim.Stopien_walu_odziedziczony.Dlugosc_stopnia '' wysokosc = walek_tim.Stopien_walu_odziedziczony.Srednica_stopnia

'' objRys.DrawRectangle(objPioroWal, x_stopnia, y_stopnia, szerokosc, wysokosc) '' x_pocz = x_pocz + szerokosc

'' walek_tim = walek_tim.Adres_po ''Next

For Each wsk_kolekcji In Kolekcja_stopni_walu x_stopnia = x_pocz

y_stopnia = Y_osi - wsk_kolekcji.Srednica_stopnia / 2 szerokosc = wsk_kolekcji.Dlugosc_stopnia

wysokosc = wsk_kolekcji.Srednica_stopnia

objRys.DrawRectangle(objPioroWal, x_stopnia, y_stopnia, szerokosc, wysokosc) x_pocz = x_pocz + szerokosc

Next End Sub End Class

Wywołanie diagramu UML

Diagram UML możemy wywołać klikając, w oknie Solution Explorer, na pliku Class1.vb, rys. 1 i z kontekstowego menu wybierając View Class Diagram.

Rysunek 1. Wywołanie diagramu UML

Rysunek 2. Diagram UML

Cytaty

Powiązane dokumenty

Po zweryfikowaniu przez RKK prac uczniowskich ze stopnia szkolnego, przewodniczący poszczególnych komisji rejonowych w ciągu kolejnych 10 dni

Diagram UML możemy wywołać klikając, w oknie Solution Explorer, prawym klawiszem myszy na pliku Class1.vb, rys. Wywołanie

Powstać, utworzyć się, zrodzić się, wywodzić się; crescere JanStat [w tym: skąd (4)] (6) : RejAp AA5; widzimy iáwnie/ iáko ſie ludzie vnieſli zá wymyſły ſwoiemi/ [...]

Poppera pojęcie stopnia korroboracji tym się przede wszystkim różni od pojęcia stopnia konfirmacji Carnapa czy, ujmując to ogólniej, od pojęcia indukcjonistów, że

Co roku ta suma najpierw wzrasta o 5%, ale od tych 5% musimy odprowadzić 19% podatku..

Tegoroczna edycja będzie składała się z dwóch niezależnych nurtów: matematycznego z elementami programowania, zatytułowanego Od zera do grafiki komputerowej, oraz

Ze względu na dużą liczbę związków wyznaniowych działających na terenie Polski, różno- rodność ich jednostek organizacyjnych i systemów zarządzania nimi konieczne

Poppera pojęcie stopnia korroboracji tym się przede wszystkim różni od pojęcia stopnia konfirmacji Carnapa czy, ujmując to ogólniej, od pojęcia indukcjonistów, że