NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 9 - Statika ve Visual Basic. NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
thejoeejoee
Člen
Avatar
thejoeejoee:29.5.2013 18:56

Super série článků, děkuji mnohokrát! Jen se mi trochu nezdá řazení článků - předchozí články (Aréna s mágem a dědičnost a polymorfismus) jsou zařazeny jako 1. a 2. díl, přitom by asi měly být 9. a 10. a tento článek potom 11.

 
Odpovědět
29.5.2013 18:56
Avatar
Odpovídá na thejoeejoee
Michal Žůrek - misaz:29.5.2013 19:07

Kde jste na to přišel?

 
Odpovědět
29.5.2013 19:07
Avatar
thejoeejoee
Člen
Avatar
thejoeejoee:29.5.2013 19:14

No "Aréna s mágem" a "Dědičnost s polymorfismus" před "Hello World"? Je to seřazené nějak špatně..

 
Odpovědět
29.5.2013 19:14
Avatar
Kit
Tvůrce
Avatar
Odpovídá na thejoeejoee
Kit:29.5.2013 19:26

Dědičnost a polymorfismus mají v OOP přednost. Mají se učit dřív.

Odpovědět
29.5.2013 19:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:29.5.2013 19:28

No, ale fakt je že se tam něco asi "pošmodrchalo".

 
Odpovědět
29.5.2013 19:28
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:29.5.2013 19:34

Pošmodrchat se mohlo to, že v SQL dotazu chybí ORDER BY.

Odpovědět
29.5.2013 19:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na thejoeejoee
David Hartinger:30.5.2013 11:57

Díky za upozornění, už je to přerovnané.

Odpovědět
30.5.2013 11:57
New kid back on the block with a R.I.P
Avatar
Vetva
Člen
Avatar
Vetva:29.9.2015 9:40

Veľmi dobre vysvetlené - ďakujem - napriek tomu otázky ?

  1. Statický konštruktor - Shared Sub New() ?
  2. Vytvoril som podobnú triedu ako je tu Class Nastaveni . Avšak v konštruktore mám výpočet, na ktorom sú závislé odvzdávané dáta; takže triedu musím volať - inštancovať že ? Dá sa pomocou Call aby som zbytočne nevytváral premennú ? Akosi sa mi to nedarí.
 
Odpovědět
29.9.2015 9:40
Avatar
Odpovídá na Vetva
Michal Žůrek - misaz:30.9.2015 20:55

úplně nějlepší je ani nastavení nedělat statické. Protože teoreticky můžeš mezi nastaveními přepínat a tak.... Jinak článek je přepisem C# článků (což trochu odpovídá na tvůj dotaz v 1. díle)a ve VB se to většinou řeší přes Module než nějaké takové třídy. Lepší by bylo

Module Nastaveni

End Module

a pokud už děláš něco takhle statické, pak většinou nemá konstruktor smysl (konstruktor totiž vytváří instanci třídy, což statika nedělá, proto nedává smysl).

 
Odpovědět
30.9.2015 20:55
Avatar
Jaroslav Trojan
Tvůrce
Avatar
Jaroslav Trojan:3.7.2016 15:15

Upravená Statika:

Module Module1

Sub Main()
Console.Write­Line(Uzivatel­.minimalniDel­kaHesla)
Dim u As New Uzivatel("Tomáš Marný", "heslojeveslo")
Console.Write­Line(u.minimal­niDelkaHesla)
Console.Write­Line(Uzivatel­.ZvalidujHeslo("hes­lojeveslo"))
Console.Write­Line("ID prvního uživatele:{0}", u.VratId())
Console.Write­Line(u) : Console.Write­Line("Tomáš Marný")
Dim v As New Uzivatel("Olda Novák", "csfd1fg")
Console.Write­Line("ID druhého uživatele:{0}", v.VratId())
Console.Write­Line(v) : Console.Write­Line("Olda Novák")
Console.Write­Line("Minimál­ní délka hesla uživatele je:{0}", Uzivatel.mini­malniDelkaHes­la)
Console.Write­Line("Validnost hesla""heslo"" je:{0}", Uzivatel.Zvali­dujHeslo("hes­lojeveslo"))
' Console.ReadKey()
Dim kalendar As New Kalendar()
Console.Write­Line(kalendar­.VratNastaveni())
Console.ReadKey()

End Sub

End Module

Třída Uzivatel:

Class Uzivatel
Public jmeno As String
Public heslo As String
Private prihlaseny As Boolean
Private id As Integer
'statická proměnná Shared
Public Shared minimalniDelkaHesla As Integer = 6
Private Shared dalsiId As Integer = 1
Public Sub New(jmeno As String, heslo As String)
Me.jmeno = jmeno
Me.heslo = heslo
prihlaseny = False
id = dalsiId
dalsiId += 1
End Sub
Public Function PrihlasSe(zada­neHeslo As String) As Boolean
If zadaneHeslo = heslo Then
prihlaseny = True
Return True
Else
Return False
End If
'hesla nesouhlasí
End Function
'privátní statická proměnná dalsiId
'pomocná stat.metoda ZvalidujHeslo()
Public Shared Function ZvalidujHeslo(heslo As String) As Boolean
If heslo.Length >= minimalniDelkaHesla Then
'podrobnou logiku validace hesla vynecháme
Return True
End If
Return False
End Function
Public Function VratId()
Return Me.id + 1 - 1

End Function
Public Function VratMinimalni­DelkuHesla()

Return Me.minimalniDel­kaHesla
End Function

End Class

Třída Nastaveni

Class Nastaveni
Private Sub New()

End Sub
Private Shared jazyk As String = "český"
Private Shared barevneSchema As String = "červené"
Private Shared spustitPoStartu As Boolean = True

Public Shared Function Jazyk1() As String
Return jazyk
End Function

Public Shared Function BarevneSchema1() As String
Return barevneSchema
End Function

Public Shared Function SpustitPoStartu1() As Boolean
Return spustitPoStartu
End Function

End Class

Třída Kalendar

Class Kalendar
Public Function VratNastaveni() As String
Dim s As String = ""
s += [String].Format("Ja­zyk:{0}" & vbLf, Nastaveni.Jazyk1())
s += [String].Format("Ba­revné schéma: {0}" & vbLf, Nastaveni.Barev­neSchema1())
s += [String].Format("Spus­tit po startu: {0}" & vbLf, Nastaveni.Spus­titPoStartu1())
Return s
End Function
End Class

Odpovědět
3.7.2016 15:15
statik
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 12.