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


informatik artikel (Interpretation und charakterisierung)

Klassen und objekte --


1. Java
2. Viren

2.1 Was ist eine Klasse? Eine Klasse ist ein abstrakter Datentyp wie zum Beispiel Geschäftspartner, Material oder Transaktion. Sie enthält Attribute und Methoden.
Die Deklaration einer Klasse in C++ ähnelt der einer Struktur und sieht wie folgt aus:


class Person

{

private:
int age;


public:

void setAge(int a);

};

Die Schlüsselwörter "private" und "public" werden später noch erklärt.

Attribute beschreiben die Struktur einer Klasse oder vereinfacht ausgedrückt, die Daten. Methoden beschreiben das Verhalten einer Klasse. Mit Hilfe dieser werden Operationen, Dienste und Funktionen angeboten. Eine Methode wird in C++ nicht wie in C durch ihren Namen eindeutig identifiziert, sondern durch ihren Prototyp.



2.2 Was ist ein Objekt?

Objekte sind Instanzen (oder Ausprägungen) einer Klasse. Vereinfacht ausgedrückt: Man kann eine Klasse in etwa als Datentyp ansehen und ein Objekt als zugehörige Variable dieses Datentyps. Der Unterschied ist der, daß ein Objekt auch die zugehörigen Methoden umfaßt.
Wenn es nun zwei Objekte namens "Müller" und "Huber" der Klasse "Geschäftspartner" gibt, sind die Daten in diesen Objekten zwar unterschiedlich, aber die Methoden sind exakt die gleichen.



2.3 Konstruktoren

Konstruktoren sind Methoden, die automatisch bei der Erzeugung eines Objekts ablaufen und haben immer den gleichen Namen wie die Klasse. Eine Klasse hat immer einen Konstruktor (Default Konstruktor), man kann aber mehrere Konstruktoren schreiben, die verschiedene Aufgaben erfüllen. Einsatzgebiete für Konstruktoren sind:

 Initialisierung einer Klasse durch parametrisierte Konstruktoren
 Bereitstellen von dynamischem Speicherplatz

 Copy Konstruktor


Copy Konstruktor

Wenn ein Objekt dynamisch Speicher anlegt und man eine Initialisierung dieses Objekts anhand eines typgleichen Objektes durchführen will, folgt daraus das Problem, daß beide Objekte auf denselben Speicherbereich zugreifen, wobei aber die beiden Objekte lediglich die gleichen Inhalte haben sollten.
Das gleiche Problem tritt bei zwei weiteren Fällen auf. Zum einen, wenn ein Objekt als Argument an eine Funktion übergeben wird um zum anderen, wenn ein Objekt ein Rückgabewert einer Funktion ist. Um dieses Problem zu lösen, bietet C++ den Copy Konstruktor. Ein Copy Konstruktor sieht folgendermaßen aus:

(const &o)

{
// Eigenlicher Code des Konstruktors
}

Das folgende Beispiel beinhaltet alle 3 möglichen Varianten eines Konstruktors:


class array

{

int *p;
int size;

public:


// normaler constructor
array (int sz)
{

p = new int [sz];

if (!p) exit (1);

size = sz;

}


// copy constructor
array (array &a)

{

int i;



p = new int[a.size];

if (!p) exit (1);

for (i = 0; i < a.size; i++) p[i] = a.p[i];
size = a.size;

}

~array() { delete [] p; }; //Destructor

};


2.4 Destruktor

Destruktoren sind Methoden, die bei der Zerstörung eines Objekts automatisch aufgerufen werden und werden z.B. zum Freigeben von dynamisch allokierten Speicher oder zum Schließen einer Datei verwendet. Ein Destruktor sieht folgendermaßen aus:

~()

{
//eigentlicher Code
}


2.5 Membervariablen und -funktionen

2.5.1 Statische Membervariablen

Wenn eine Membervariable einer Klasse als static deklariert wird, haben alle Objekte dieser Klasse Zugriff auf die gleiche Variable, da sie nur einmal im Speicher existiert. Weiters muß noch eine globale Definition für die Variable gemacht werden, da die Deklaration in der Klasse noch keinen Speicherplatz allokiert. Das folgende Beispiel veranschaulicht den Vorgang:

class shared

{

public:

static int a; // Deklaration von a

};

int shared::a; // globale Definition von a

main()

{
// Initialisierung, bevor ein Objekt existiert
shared::a = 99; cout

 
 

Datenschutz
Top Themen / Analyse
indicator Systementwickler
indicator Machen Firewalls überhaupt einen Sinn ?
indicator Ethernet
indicator Synchrone Übertragung
indicator Was ist ein Computernetz?
indicator Das Transport Control Protokoll
indicator DAS HAUS AUF DEM SAND
indicator Geldautomat
indicator Das dezimale bzw. dekadische System:
indicator Die Vorteile von SQS


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