Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 9. diel - Statika vo Visual Basic. NET

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
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.

Avatar
Odpovedá na thejoeejoee
Michal Žůrek - misaz:29.5.2013 19:07

Kde jste na to přišel?

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ě..

Avatar
Kit
Tvůrce
Avatar
Odpovedá na thejoeejoee
Kit:29.5.2013 19:26

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

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

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

Avatar
Kit
Tvůrce
Avatar
Odpovedá na Michal Žůrek - misaz
Kit:29.5.2013 19:34

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

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

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

Odpovedať
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í.
Avatar
Odpovedá 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).

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

Odpovedať
statik
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 12.