vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Anfängerfrage OOP........... 
Autor: spike24
Datum: 13.03.08 07:58

soweit ich die OOP verstanden habe:
@FZelle: ich lerne noch ;)

jedes Objekt soll in sich funktionieren.
nimm das DataGrid, das Control hat eine Eigenschaft DataSource:
wenn man DataSource reinstellt funktioniert das DataGrid, was es auch immer für eine DataSource ist: Referenzen zu Objekten mit IBindingList, IList, ICollection, etc. ein XML Ding, ein DataSet bzw. DataTable und so weiter und so fort.
und das Eigenartige wenn man kein DataSource reingibt funktioniert es noch immer, es zeigt zwar nichts an, was ja die Haupteigenschaft wäre, aber die Liste kann sich ohne Fehler selbst zeigen, wenn bei dem MouseDownEvent des DataGrid's ein Peep rauskommen würde, würde es das auch ohne DataSource tun.
und genau so soll man auch seine Objekte (Klassen) programmieren.
Mit einem einfachen New MyClass soll es schon funktionieren, kann zwar nichts, macht aber auch keine Fehler
falls Du willst das Deine Klasse (Dein Formular) mit irgend jemanden anderen "redet", dann darf die Klasse nicht direkt auf die andere zugreifen sonder diese andere Klasse muss übergeben werden.

ein einfaches Beispiel:
ich habe mir mal eine ComboBox programmiert, die mir mittels Fortschrittsbalken sagt wie weit die Daten geladen sind. Sagen tut mir das das DataTable. Jetzt hat aber nicht jedes DataTable die Aufgabe seinen Status mitzuteilen sondern nur die, die an eine ComboBox gehängt werden, es gibt aber auch DataTable's die nicht an ein ComboBox gehängt werden und trotzdem sagen müssen wie weit sie sind

Public Class DataTable
    Private mProgressBar as IProgressBar
    Public Property ProgessBar as IProgressBar
        Get ...
        Set ...
    End Property
End Class
man beachte hier das Interface (selbst geschrieben)*

ist mProgressBar befüllt, dann schreibe ich was rein, wenn nicht, dann nicht.

mit Deinem Beispiel schreibst Du immer was rein (rufst Form1 auf)
was machst Du wenn Du dieses Formular (Form2) wo anders brauchst?
also gib dem Form2 eine Eigenschaft, ist diese befüllt soll Form2 diese benützen, sonst nicht, oder noch besser wäre wenn Form2 ein Event hätte (Public Event I_Was_Changed)

* entspricht nicht 100% dem was ich verwende
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anfängerfrage OOP...........1.165Christoph197210.03.08 19:46
Re: Anfängerfrage OOP...........827Melkor10.03.08 19:57
Re: Anfängerfrage OOP...........823Christoph197210.03.08 20:08
Re: Anfängerfrage OOP...........817Melkor10.03.08 20:33
Re: Anfängerfrage OOP...........819Christoph197210.03.08 20:43
Re: Anfängerfrage OOP...........777ModeratorFZelle11.03.08 08:25
Re: Anfängerfrage OOP...........782Melkor11.03.08 08:38
Re: Anfängerfrage OOP...........832Christoph197212.03.08 19:15
Re: Anfängerfrage OOP...........888spike2413.03.08 07:58
Re: Anfängerfrage OOP...........788Melkor13.03.08 08:34
Re: Anfängerfrage OOP...........797ModeratorFZelle13.03.08 10:10
Re: Anfängerfrage OOP...........765Christoph197213.03.08 21:43
Re: Anfängerfrage OOP...........782ModeratorFZelle14.03.08 09:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel