Forum: PC-Programmierung Objektorientierung BEISPIEL Javascript


von Baeri B. (baeri)


Lesenswert?

Hallo,

ich suche in Javascript nach einer Hierachie (Objektorientier)

ich möchte mit Funktionen mir eine "Datenbasis" erstellen (zum üben, 
verändern, basteln...)

das für mich gesetzte Ziel ist es eine kleine Firma abzubilden, leider 
habe ich keine passendes todo online gefunden (evtl. hat jemand einen 
Link)


1
var firma = new company()
2
3
firma.addChief("Müller");
4
firma.addChief("Maier");
5
6
firma.addHeadofDepart( ??zu Müller??, Abteilungleister )
7
8
firma.addStaff( ??zu müller??, zu Abteilungleister, Mitarbeiter )
so... "in etwa" will ich das befüllen...

ziel ist es über
console.log( firma )
dann eine Objektstruktur zurückzubekommen...

> leider habe ich das mit den Prototypen noch nicht so richtig verstanden... die 
Beispiele die ich gefunden habe, befassen sich dann immer nur mit einem Datensatz 
und ich brauch dann "pro" Mitarbeiter eine "eigene Firma" ... <- das ist ja nicht 
Sinn der Sache...

Vielen Dank für die Hilfe...

: Bearbeitet durch User
von TestX (Gast)


Lesenswert?

Beschäftige dich erstmal mit den Grundlagen der objektorientierten 
Programmierung - und nimm hierfür NICHT Javascript. Zum Lernen ist Java 
o.ä. wesentlich besser geeignet.

Javascript konnte bisher keine richtiges OOP mit Vererbung etc 
umsetzen..dazu brauchte man externe Frameworks. MIt ECMA6 hat sich das 
ein wenig geändert allerdings sollte man damit nicht anfangen, da es 
viel zu viele Fallstricke gibt (ich arbeite seit > 15 Jahren damit..).

von Baeri B. (baeri)


Lesenswert?

Java hilft mir leider nichts...

und objektorientierung in c++ ist mir bereits geläuftig!
ich brauche eben Javascript! Kein PHP, kein Java...

von Joachim S. (oyo)


Lesenswert?

Eines der besten Bücher die ich zu Javascript kenne, ist "Javascript: 
The good parts" von Douglas Crockford, u.A. deshalb, weil es extrem 
knapp ist und sich auf das wesentliche beschränkt.

Dieses Buch gibt es mittlerweile offenbar kostenlos im Netz, und in dem 
darin enthaltenen, gerade mal kurze 12 Seiten langen Kapitel über 
Vererbung werden fünf verschiedene Möglichkeiten erklärt, 
Klassen/Vererbung in Javascript zu nutzen.

Ein weiteres, gerade mal sechs Seiten langes Kapitel erklärt alles 
wichtige zu Objekten in Javascript.

http://bdcampbell.net/javascript/book/javascript_the_good_parts.pdf#G10.342139

von Bernd K. (prof7bit)


Lesenswert?

> Douglas Crockford

Ja, den kann ich auch empfehlen. Versuche alles in Dich aufzusaugen was 
Crockford je über Javascript gesagt und geschrieben hat, seine Webseite, 
seine Vorträge, alles. Dieser Mann ist die Referenz.

von js (Gast)


Lesenswert?

Es ist leider nicht ganz klar wie deine Datenstruktur aussehen soll
und wieso du dafuer eine OO-Klassenhierarchie brauchst.

JS mit den Objekten und Properties ist fuer Daten bereits OO light.

Schau dir mal JSON an:

https://www.w3schools.com/js/js_json_intro.asp

Und falls du wirkliche Datenbank Funktionalitaet brauchst, nimm eine 
Datenbank.

Trotzdem ein Beispiel mit Klassen:
1
"use strict";
2
3
function company() {
4
    this.chiefs = [];
5
    this.staffs = [];
6
}
7
8
company.prototype.addChief = function( chief ) {
9
    this.chiefs.push( chief );
10
}
11
12
company.prototype.addStaff = function( chief, staff ) {
13
    this.staffs.push( {"chief":chief, "staff":staff} );
14
}
15
16
function testFirma() {
17
    var firma = new company();
18
    firma.addChief("Chief1");
19
    firma.addChief("Chief2");
20
    firma.addStaff("Chief1", "Staff1");
21
    firma.addStaff("Chief2", "Staff2");
22
    console.log( JSON.stringify(firma) );
23
}

von Noch einer (Gast)


Lesenswert?

> eine Datenbasis

Das Problem ist das Wort "eine".

In der Realität kommst du nicht mit einer Struktur aus. Vertrieb, 
Buchhaltung, Lagerverwaltung, Konstruktion, Produktion... alle arbeiten 
auf der selben Datenbasis, haben aber unterschiedliche Objektstrukturen.

Du brauchst eine Datenbasis, aus der sich beliebige Strukturen 
zusammensetzen lassen. In beide Richtungen, sowohl lesen als auch beim 
schreiben persistenter Daten.

Javascript wird ja in Bereichen eingesetzt, wo du irgendwas mit 
Client-Server zu tun hast. Wie "js" oben schon erwähnte: Das Server-Team 
setzt aus dem Datenbestand JSON zusammen. Das GUI-Team hat mit dem 
Datenbestand nichts zu tun, benutzt nur die JSON-Strukturen.

Diese klassischen C-Beispiele findest du beim Javascript nicht mehr, 
weil so etwas triviales in Javascript nicht gemacht wird.

von c.m. (Gast)


Lesenswert?

Noch einer schrieb:
> Das GUI-Team hat mit dem
> Datenbestand nichts zu tun, benutzt nur die JSON-Strukturen.

stichwort: MVC
https://de.wikipedia.org/wiki/Model_View_Controller#JavaScript

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.