Zum Inhalt springen

Begriffe aus Programmiersprachen


Empfohlene Beiträge

Geschrieben

Kann mir jemand folgende Begriffe erklären und vielleicht ein kleines Beispiel dazu geben?

Ich komme damit immer durcheinander und bin mir nicht sicher was jetzt genau was bedeutet!

Anweisung

Zuweisung

Argument

Ausdruck

(abstrakte) Klasse(n)

recht herzlichen Dank im Voraus!

Geschrieben

Servus!!

Also, ich probiers mal:

Anweisung: wie zuhause hol solange Butter, bis der Kühlschrank voll ist (do while)

Zuweisung: einer Varbiablen wird ein Wert zugewiesen (int x = 2)

Argument: wird einer Methode übergeben, die dann damit arbeiten kann.

public int addiere(int zahl1, int zahl2)

{

return zahl1 + zahl2;

}

Ausdruck: kommt ausm Drucker (Witz); ein Ausdruck kann irgendwie alles sein (meine Meinung) eine Codezeile ist z.B. ein Ausdruck

(abstrakte) Klasse(n): Klassen werden in der objektorientierten Programmierung verwendet. Sie sind abstrakte Objekte (z.B. Haus, Auto) und können Eigenschaften und Verhalten (Methoden) haben. Beim Auto: Eigenschaften: Farbe, PS, VMax; Methoden: anfahren, bremsen.

Ich hoffe, es hilft Dir, und vor allem, dass es richtig ist...

Schönen Tag noch,

k.o. b

Geschrieben

Erstmal Danke für die Antwort!

Ich hab mal in nem Buch nachgeschlagen.:

Ein Ausdruck ist z. B. auch folgendes:

1;

:rolleyes:

Geschrieben

Hallöchen,

nur noch kurz was zu abstrakten Klassen.

Eine abstrakte Klasse ist eine Klasse von der man keine Instanzen (Objekte) erstellen

kann. Beim Beispiel Auto wäre es eine Oberklasse in der Vererbungshierarchie.

Warum keine Instanzen gebildet werden (dürfen) kann verschiedene Gründe haben!

Entweder es macht ganz einfach keinen Sinn oder man kann mit der Instanz der Klasse nichts anfangen.

So, ich hoffe ich habe Dich nicht zu sehr verwirrt!

Thommy!

Geschrieben

Ich dachte immer von einer abstrakten (Basis-)Klasse kann man keine

Instanzen bilden weil all ihre Methoden virtuell sind.

Oder anders ausgedrückt, eine Klasse welche nur eine nicht

virtuelle Methode enthält ist keine abstrakte Klasse. :confused:

Geschrieben

Ja, da hast Du Recht...... ich halt mich an die verständlichere Version! Für mich!

Dabei handelt es sich leider um schwer verständliche Definitionen! Denke ich zumindest!

Ich brauch sowas recht selten und schau eigentlich immer aufs Neue nach!

Grüßle, Thommy!

Geschrieben

Leider hat Lachdanan nicht wirklich recht. Natürlich kann ich von einer Klasse, die virtuelle Funktionen besitzt, ein Exemplar erzeugen. Das liegt aber eher daran, daß virtuelle Funktionen alleine noch keine abstrakte Klasse bedeuten. Um eine abstrakte Klasse zu haben muß man eine "pure virtual function" haben. Und hier imuß man auch noch einmal aufpassen. Sobald ich nur eine pure virtual function habe ist meine Klasse abstrakt. Auch wenn ich ganz "normale" Funktionen in der Klasse definiert habe.

HTH

Jan

PS:


#include <iostream>


class Animal

{

    public:

        virtual void move ()

	{

	    std::cout << "move...\n";

        }

};


class Bird : public Animal

{

    public:

        void move ()

        {

	    std::cout << "fly...\n";

        }


};


class AbstractClass

{

    public:

	void sayHello ()

	{

            std::cout << "Hello World!\n";

        }


        virtual void doTheBartman () = 0;


};


void test ( Animal &animal )

{

	animal.move ();

}


int main ( void )

{

	Animal a;

	Bird b;


	test ( a );

	test ( b );


	AbstractClass ac;	//won't work

}

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...