![]() |
|
|||||||
| Newsgroup de.comp.objekt Objektorientierte Logik, Methodik und Techniken. |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#81
|
|||
|
|||
|
Niels Braczek <nbraczek*freenet.de> writes:
>dass die Methoden das Gleiche tun, im vorliegenden Falle also rotieren. Man kann in einem Verb wie »rotieren« selten eine hinreichende Spezifikation sehen. Es muß also zunächst einmal spezifiziert werden, was »rotieren« in einem bestimmten Fall heißen soll. Dies geschieht durch eine Spezifikation, die oft nicht mit den Mitteln der objektorientierten Sprache notiert wird (in Java beispielsweise mit JavaDoc in einer Basisklasse oder Schnittstelle). Die Implementationen müssen dann dieser Spezifikation genügen, in diesem Sinne »tun sie das gleiche«. Beispielsweise wird die Operation »hashCode()« der Basisklasse »Objekt« sowohl von java.lang.String als auch von java.lang.Integer implementiert: public class Main { private static void hash( final java.lang.Object object ) { java.lang.System.out.println( object.hashCode() ); } public static void main( final java.lang.String[] args ) { hash( 2 ); hash( "2" ); }} 2 50 Aber, wenn man nur sieht, daß der Streuwert von »2« beispielsweise »2« und der von »"2"« »50« ist, dann kann man zunächst nicht sagen, ob die beiden Implementation von »hashCode()« »das gleiche« tun. |
|
|
||||
|
||||
|
|
|
#82
|
|||
|
|||
|
Stefan Ram schrieb:
> Niels Braczek <nbraczek*freenet.de> writes: >>dass die Methoden das Gleiche tun, im vorliegenden Falle also rotieren. > > Man kann in einem Verb wie »rotieren« selten eine hinreichende > Spezifikation sehen. Es muß also zunächst einmal spezifiziert > werden, was »rotieren« in einem bestimmten Fall heißen soll. >... > Aber, wenn man nur sieht, daß der Streuwert von »2« > beispielsweise »2« und der von »"2"« »50« ist, dann kann man > zunächst nicht sagen, ob die beiden Implementation von > »hashCode()« »das gleiche« tun. Sie tun insofern das Gleiche (vielleicht sogar das Selbe, zB. die ganzzahlige byteweise Quersumme der Binärdarstellung liefern), als dass beide einen Hashcode liefern. Eine Funktion hashCode() hätte nun prinzipbedingt das Problem, das Argument 2 von "2" zu unterscheiden. Eine Methode eines Objektes hat dieses Problem nicht, weil sie über einen dem Objekt bekannten Kontext verfügt. MfG Niels -- | http://www.kolleg.de · Das Portal der Kollegs in Deutschland | | http://www.bsds.de · BSDS Braczek Software- und DatenSysteme | | Webdesign · Webhosting · e-Commerce · Joomla! Content Management | ------------------------------------------------------------------ |
|
#83
|
|||
|
|||
|
Moin!
Leider lese ich den Thread erst jetzt, ... Prozedurale Programmierung wäre z.B. COBOL. Strukturiert man den Code gut (Perform statt GoTo etc), kommt man zu einer strukturierten Programmierung. Hat man lokale Varaiblen (die es in COBOL nicht gibt, genauso wie damals in GWBasic) wird es modular, dass heisst, Seiteneffekte werden vermieden. Objekt-Orientiert bedeutet, es gibt "Dinger" (letztlich Module), die auf bestimmte Nachrichten (die schon in den Super-Klassen definiert wurden) sinnvoll reagieren. Beispiel: In Java wird im Object die Methode ".toStrig()" definiert, damit weiss der Programmierer, dass jedes Objekt auf die Methode Nachricht ".toString()" sinnvoll reagiert. In einer "Modularen Programmiersprache" weiss der Programmierer nicht, ob ein Objekt die Nachricht ".toString()" kennt und eine Methode dafür bereitstellt. Gruss Peter |
|
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| KI-Programmierung (neuronaleNetze oder sowas ähnliches) | Rupert | Newsgroup de.sci.mathematik | 8 | 07-15-2008 02:32 PM |
| KI-Programmierung (neuronaleNetze oder sowas ähnliches) | Rupert | Newsgroup de.sci.informatik.ki | 3 | 01-26-2008 12:03 AM |
| Hat OOP Vorteile gegenueber prozeduraler oder modularer Programmierung? | Stefan Ram | Newsgroup de.comp.lang.iso-c++ | 1 | 12-19-2007 08:24 AM |
| Hat OOP Vorteile gegenueber prozeduraler oder modularer Programmierung? | Heiner Kücker | Newsgroup de.comp.lang.java | 3 | 12-12-2007 07:22 PM |
| Hat OOP Vorteile gegenueber prozeduraler oder modularer Programmierung? | Stefan Ram | Newsgroup de.comp.lang.java | 83 | 12-12-2007 04:02 PM |