PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : programmierfrage



bigair
21-03-2006, 18:59
servus, ich steh von einer krise, is zwar eigentlich im prinzip egal, aba mich plagts schon seit drei stunden:

USERINTERACTION -> FUNKTIONSAUFRUF -> FKT BASTELT EIN OBJ -> OBJ Speichern

schön und gut...sprache = scriptsprache (php)

möglichkeit 1:


class Rrad{
.
.
__construct($typ, $marke){
$this->$typ=$typ;
$this->$marke=$marke;
}
}


aufruf über:
den Konstruktor...mit parametern in klammer....Rad('mtb', 'simplon')...


oder (meine version):
möglichkeit zwei:



class rad{
__construct($sqlobj)....

function setTyp($typ){
$this->$typ=$typ;
}
usw

}


nachteil davon: objekt erzeugen wird schwerer...(mehrere zeilen)

lösung:


function machEinRad($obj, $typ, $marke){
$obj->setTyp($typ);
$obj->setMarke($marke);
}


das wär so ein art psydokonstruktor der ausgelagert ist, eigentlich rentiert sich der mehraufwand beim programmieren in der flexiblität des codes (eigentlich des objectes), zb wenn ein obj über mehrere seiten erstellt wird (formular) kann so zuerst das obj mit den daten der ersten seite über den psydokonstr erzeugt werden und dann mit den eigenen methoden erweitert werden.

nur es kommt mir sehr an der objektorientiertheit vorbeigearbeitet vor, weil ich ja eigentlich die hauptaufgabe (interner konstruktur) übergehe...

...was meint ihr dazu``

lg
dominik

chrisbe
21-03-2006, 19:04
...was meint ihr dazu

geh radfahren ;)

bigair
21-03-2006, 19:10
geh radfahren ;)

danke für deinen auskunftsreichen beitrag.

tschiffi
21-03-2006, 19:14
scheiss auf web anwendungen ... is ja was grausliches ....

back to the roots ... i bin fuer text-only web ....

bigair
21-03-2006, 19:17
scheiss auf web anwendungen ... is ja was grausliches ....

back to the roots ... i bin fuer text-only web ....

ja da kann ich dir nur recht geben, allerdings wirst du auch bei text only web eine programmiersprache im background brauchen, weil nur statisches web währ irgentwann doch etwas zach....oder nicht?

und es geht nedamal um eine webanwendung :zwinker:

eleon
21-03-2006, 19:23
lern lieber java! ist viel praktischer im leben. :cool:


http://www.cargal.org/images/gallery/albums/album41/getstringfromobject.sized.jpg

bigair
21-03-2006, 19:26
lern lieber java! ist viel praktischer im leben. :cool:


http://www.cargal.org/images/gallery/albums/album41/getstringfromobject.sized.jpg



class bikeboard{
public static void main(String args[]){
System.out.println("Ich kann java, mags aba im Moment ned verwenden");
}
}

punkti
21-03-2006, 21:37
so nebenbei, java ist scheiße!

@big

ganz versteh ich denn sinn deiner programmiertätigkeit da nicht!!
du erzeugst erst ein objekt und rufst anschließend eine weitere funktion auf um die parameter (eigentschaften) zu setzen?? warum nict gleich in einem!!


create obj (wert, wert)
obj = new obj
obj.irgendwas = wert
obj.nochwas = wert


ist jetzt nicht php, aber vom sinn her mal! (php ist auch scheiße :D )

sollte ein wert nicht gesetzt sein, dann sit die eigenschaft leer, fertig!

bigair
21-03-2006, 21:43
jo egal...machmas is psydocode... :D

var1:
ich erzeuge ein objekt mittels eines konstruktors,
das würde heißen, ich muss alle eigenschaften angeben...wenn auch mit ' ' oder sonnstigem...

var2:
ich erzeugen mit einem psydokonstruktor (der eigentliche konstruktor der klasse) ein leeres objekt, und dannach kann ich dann mit obj->setAttribute(wert) sachen zuweißen, was aus meiner sicht den vorteil hab ich das ich bei verteilten inputs (mehrere php seiten) imma die neue eigenschaft hinzufügen kann, ohne das objekt neu zu erstellen...
und um dann auch ein obj wie in var1 zu erzeugen würd ich die externe fkt machen, die mir alles zusammenfasst



function psydokons($bla, $blub){
$obj->setBla($bla);
$obj->setBlub($blub);
}


wobei obj das vom psydokonstruktor erzeugete leere objekt wäre...

weißt du was ich mein?

punkti
21-03-2006, 21:44
das nennt sich eine klasse ;)

bigair
21-03-2006, 21:53
das nennt sich eine klasse ;)

:D

na no na...es geht ja um klassen...


es geht mir darum wie ich diese objekte erzeuge (mit klassen)

entweder per 1 konstruktor der gleich alle werte initialisiert
oder
mit einem psydokonstruktor und dann mit funktionen die die werte des objektes verändern...

ein bsp:
für var2:



<?php
class Messages{
var $sqlObj;
var $mysql_tableName;
var $text;


function PM($sqlObj, $mysql_tableName){
$this->sqlObj=$sqlObj;
$this->mysql_tableName=$mysql_tableName;
$this->tableCheck();
}

function setMessage($text){
$this->text=$text;
return true;
}

}
?>


das währe die version mit dem psydokonstruktur



<?php
class Messages{
var $sqlObj;
var $mysql_tableName;
var $text;


function PM($sqlObj, $mysql_tableName, $text){
$this->sqlObj=$sqlObj;
$this->mysql_tableName=$mysql_tableName;
$this->tableCheck();
$this->text=$text;
}



}
?>


der große unterschied ist jetzt, das wenn ich was ändern möchte nachher...ich bei var1 einfach nur die fkt aufrufen muss, bei var 2...nicht ;)

deathhero
21-03-2006, 22:07
und wos wüllst jetzt?
moch holt var 1

is e wurscht....

bigair
21-03-2006, 22:16
und wos wüllst jetzt?
moch holt var 1

is e wurscht....

naja bei über 30 klassen is es dann nimma wurscht... :rolleyes:
so mir is es jetzt wurscht...ich nimm var 1... ;)