Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Sicherheit

Oop - -


1. Java
2. Viren

11.1 OOP- Grundlagen OOP ist vor allem bei großen Programmen sehr hilfreich, da ein Objekt sehr leicht eingebungen oder verändert werden kann. Dies verbilligt vor allem große Softwareprojekte enorm, da der Wartungsaufwand erheblich reduziert werden kann.

Was ist ein Objekt überhaupt? Ein Objekt hat Eigenschaften, die dieses Objekt einzigartig machen.
D.h. Ein Computer beispielsweise wäre ein Objekt, er hat einen Prozessortyp, einen Bustyp, eine Gehäuseart,... alle diese Attribute machen ihn (das Objekt) einzigartig.

Es stellt sich die Frage, wie die Daten zu speichern sind. Die beste Lösung ist eine Struktur, in der alle Daten, das Objekt betreffend, gespeichert werden. (1.Schritt in Richtung OOP).

Ein Objekt hat also eigene interne Daten (Instanz Variablen) und außerdem eigene Funktionen (Methoden), die nur für dieses Objekt gelten. D.h. Ein Objekt ist einfach eine Struktur in die noch ihre Funktionen direkt hinein geschrieben werden. (2. Schritt in Richtung OOP).
Damit das Programm weiß wie auf die einzelnen Daten zugegriffen werden darf, gibt es mehrere reservierte Wörter. Diese sind u.a. private, public, protected

public:
dieses Wort sagt aus, daß überall aus dem Programm und jedes Objekt auf die Daten, die mit private definiert sind, zugreifen dürfen.


private:
dies bedeuted, daß nur objekteigene Funktionen auf diesen Datenbestand zugreifen dürfen.

protected:
bei dieser Definition wird festgelegt, daß nur objekteigene Funktionen und Funktionen von Vererbungen dieses Objektes auf diese Daten zugreifen dürfen.

So ein Unterprogrammaufruf wird beim OOP auch als schicken einer Nachricht bezeichnet.
Wir rufen eine Methode auf, indem wir das Objekt nennen, einen Punkt setzen und die gewünschte Methode angeben.

z.B. Rechteck.füllen

Bei Strukturen ist die Gefahr, daß der Programmierer auf Datenbestände zugreift, die er zu diesem Zeitpunkt vielleicht gar nicht ändern können sollte, daher Datenkapselung (private, public, protected siehe später). D.h., die dafür definierten Funktionen ändern die Datenbestände eines Objektes (und sonst nichts, nur diese Funktionen).


Beispiel zu Klassen:




Oben wird eine Hierarchie von Objekten angeführt. D.h. in Lok muß keine Achsenanzahl mehr gespeichert werden, weil Lok ein Schienenfahrzeug ist und dort die Information zu Achsenanzahl gespeichert wird. Jedes Schienenfahrzeug muß demzufolge Achsen haben um als Schienenfahrzeug zu gelten. Wasserverbrauch wiederum wird nur bei Dampflok gespeichert, da eine E-Lok keinen Holzverbrauch aufweist.
11.2 Vererbung (Inheritance)
Viele Objekte sind einander ähnlich, jedoch nicht ident. Um nicht jedes Objekt extra definieren zu müssen  Vererbung. Man muß nur sagen, welches Objekt von welchem Objekt die Daten und Methoden erben soll und welche Daten und Funktionen zusätzlich enthalten sind.

(Siehe Beispiel mit Lokomotiven von vorhin.)

Wir vererben die Datenbestände und die Funktionen und können weitere hinzufügen.
Wir kennen Basis (Parent, Eltern) - Klassen und Sub (Child, Kinder) - Klassen

Eine Virtual Funktion ist ein Platzhalter, der festlegt, daß nach der Vererbung unbedingt, zum Beispiel, eine Funktion an dieser Stelle geschrieben werden muß.
11.3 Dynamisches Binden und Polymorphismus
Dynamisches Binden:
Objekte sind dynamisch, d.h. sie werden erst bei laufendem Programm erzeugt (constructor), bzw. gelöscht (destructor). Dies ist in etwa mit dem Speicherallocieren in C "malloc", welches letztes Jahr im Unterricht durchgenommen wurde, vergleichbar. Dies bringt den erheblichen Vorteil, daß beim Compilieren noch nicht genau feststehen muß an welche Stelle (im Assemblercode) gesprungen werden muß. An unklaren Stellen wird ein Platzhalter eingesetzt, der während der Laufzeit durch das Run-time Modul richtig interpretiert wird.

Anders gesagt bedeuted "D.B.": es muß bei Compilierung noch nicht feststehen, welches UP ausgeführt wird
z.B. bei benutzerabhängiger Eingabe (zeigt Pointer auf O1 oder O2)

z.B. printf cout

Polymorphie (Polymorphe arrays):
Bei einem normalen Feld können nur Daten gleichen Typs gespeichert werden (int). Da jedoch bei Objekten Pointer verwendet werden, können verschiedenste Objekte (bzw. Pointer auf diese) in einem Array gespeichert werden.
Auf den ersten Blick sieht es so aus als würden verschiedenste Objekte in einem Feld gespeichert werden können (z.B. verschiedene Eisenbahnen, Züge und Wagen); in Wirklichkeit wird jedoch jeweils nur ein Pointer auf ein Objekt gespeichert und dadurch wird die Polymorphie (Vielschichtigkeit, Vielgesichtigkeit) ermöglicht.

Garbage Collection:
d.h. Alle Objekte, auf die kein Pointer zeigt, werden aus dem Speicher gelöscht.
11.4 Ergänzung

Datenkapselung (engl.: encapsulation)
Die meisten Funktionen sind vorhanden, um die Inhalte der Variablen zu schützen.
Klassenhierarchie (Vererbung von Datentypen und Methoden einer anderen Klasse in eine neue).
Dynamisches Binden: Wenn beim Programmstart noch nicht bekannt ist, welcher Code ausgeführt wird. Aber auch "cout"

 
 

Datenschutz
Top Themen / Analyse
indicator Universal Serial Bus - USB
indicator RAID 10 oder 0+1 (Mirrored Striping Array)
indicator Uniform Resource Locator (URL)
indicator Drucken unter NetWare 4.x
indicator CD-Rom -
indicator Paketorientierte Datenübertragung
indicator Die Rolle von SQS
indicator Novell IntraNetWare
indicator Anonymität durch Kopierschutz bei digitalem Bargeld
indicator KRYPTOLOGIE-


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution