Grafisk Programmering: Objektorienteret grafik og grænseflader [JAVA]

ejemplo_interfacesI de foregående skridt, som vi har set, aprendimos deninstallere udviklingsmiljø (IDE) Eclipseyopretter et nyt projekt, har efterfølgendetilføjet et program til Eclipse-projektetog og er begyndt at strukturere stævningen opførelsen af ​​elementerne i den grafikbibliotek.

Det næste skridt er at definere en grænseflade at være en klasse JAVA til at definere handling af tegning grafer og tildele til objekter, således, at klassen var bestilt til at male anerkendelse.

UnagrænsefladeDAJavaer en samling af abstrakte metoder og egenskaber. De angive, hvad de skal gøre, men ikke deres gennemførelse. Vil de klasser, der implementerer disse grænseflader til at beskrive logikken adfærd metoder.(I)

Grænseflade Erklæring

En “Grænseflade” erklæres svarer til et “Klasse” JAVA, gemmes i en fil med “.java” og dens navn skal svare til grænsefladen.

I den “IDE” Projektet vil tilføje en grænseflade svarer til, hvad vi har set fra menuen:

Fil->Add->Grænseflade

eller vi kan gøre gennem den grafiske menu, som vist i Figur

addInterface

I det vindue, der synes at definere grænsefladen vi skal angive navn og den pakke, vi ønsker at blive frelst.

Vi vil bruge pakken “graf” hvor vi skaber biblioteket, og vi vil kalde “SimpleDrawable” grænsefladen, som det vil være ansvarlig for at definere den egenskab, at der kan males(dibujables) de objekter, der implementerer.

add_interface_window

Ved at implementere interfacet kun definerer én metode eller funktion:

void paint(Grafik g);

Denne funktion vil give dig mulighed for at repræsentere de objekter, der implementerer,

interface_simpleDrawable_text

Næste oprette et grafikobjekt at gennemføre denne “grænseflade”, giver os mulighed for at forstå den grundlæggende betjening af dette objekt-orienterede metode baseret på “grænseflader”.
Formålet er at implementere et enkelt punkt i to dimensioner, klasse “Point2D”. Vil tilføje til pakken “graf” ligesom andre elementer i vores bibliotek, der, senere, vi igen opbygning af mere komplekse objekter.
interface_simpleDrawable
Objektet erklære et par variabler, der er involveret i deponeringen koordinaterne for det punkt, der definerer. Variabel “x” opretholde en velordnet og “og” abcisa punktet.
int x = 0;
int y = 0;
Vi vil have to konstruktører af klassen, en, der tager nogen parametre, og en, der vil tjene til at starte objekt med bestemte koordinater.
offentlige Point2D()
offentlige Point2D(int x1, int y1)
Klassen vil implementere “interdace SimpleDrawable”. Dette vil kræve gennemførelse af fremgangsmåden “maling” der er erklæret i “grænseflade” og som tjener til objektet er afbildet på skærmen.
Punto2D
For den klasse, der er ansvarlig for opbevaring af genstande og male opfylde dine krav, vi har brug for at definere en måde at gemme de grafiske objekter.
En løsning er at definere en “Vector” JAVA. Denne klasse er i pakken fordelt i kernen af ​​ansøgningen, og repræsenterer en dynamisk hukommelse opbevaring.
Tilføj en kaldet funktion “addElement” der vil være ansvarlig for at tilføje elementer til databasen. Denne klasse skal være offentlige for at give adgang til det fra andre former for program.
Vi vil gennemføre den logik, der maler objekter i den metode, “paint”. Denne funktion vil analysere hvert af de elementer, der findes i databasen (“Vector” Opbevaring) og tjekke først, om der stammer fra grænsefladen “SimpleDrawable” at se, om de er repræsenteres. Hvis ja, kraft typekonvertering og opkaldsfunktion “paint”.maling
For at kontrollere om objektet implementerer “grænseflade” Brug kontrollen med søgeordet “instanceof
pizarra_bd
Du kan implementere denne logik på forskellige måder. I det første tilfælde har en integreret struktur-type “for-kommende” at ekstrahere elementer “Vector”. I det andet tilfælde præsenteret et alternativ med en mere generisk objektorienterede, ved hjælp af en “Enumeration“.
Det anbefales de grundlæggende manualer på Java programmering til at analysere i detaljer disse alternativer.
paint_enum
Projektet struktur er ændret med tilføjelsen af ​​både “grænseflade” som klasse “Point2D”. Grafikbiblioteket begynder at fuldføre deres grundlæggende operationelle struktur.
Estructurainterfaces
Vi kan kun ændre de vigtigste program for eksempel at tilføje nogle objekter til databasen, vi har defineret i klassen “Blackboard”.
Hvis du vil tilføje emner, vi har defineret en ny kaldet funktion “iniciarElementos()” vil oprette tre nye elementer til operatøren “nye” og, ved at kalde funktionen “addElement” objektet “Skifer” , indarbejde dem i vores klasse Object Management.
iniciarElementos
Resultatet af gennemførelsen af ​​programmet er vist i vedlagte billede..

ejemplo_interfaces2

De punkter, vi har gemt i databasen er repræsenteret i koordinater, som vi initialiseret.
Hvis du starter med det formål constructor parametre, være repræsenteret ved koordinaterne (0,0) overlejret på hinanden, som de ville have standardværdier.
Det næste skridt i vores struktur vil indarbejde samspillet for at se, hvordan programmet. Først skal vi definere en animation motor til håndtering, der interagerer eller flytte alene, og derefter viser hvordan man kan manipulere objekter med musen.
JAVA

JAVA Kursus

Del

Relaterede Stillinger

Definition Reality Vi ...

Raytracing : ¿Cuanto valg ...

sagitaire17

Blogs Diagrammer: Foto Baz ...

java2D

DrawWorld ! [JAVA]...

tenis

BrickTacoras ...

outliner

3D Animation, Filer: ...

blogavante

Blogs Diagrammer: Mit øje M...

ej3thumb

3D Animation, Objekter: E...

3D Animation, Objekter: A...

add_new_project_java

Program ...

Jordskælv : D. Skift..

Amino_Ala

Representación de Amino...

Om joju

Professor, Institut for Aerospace Køretøjer (TO) Polytechnic University of Madrid.
Assisterende direktør for Institut. TO
Koordinator for pædagogisk innovation Visual Graphics Group (VGG.)