Esercitazione Ereditarietà Polimorfismo. Entita’ Geometrica PuntoCerchioPoligono TriangoloQuadrilatero Rettangolo Quadrato.

Slides:



Advertisements
Presentazioni simili
© 2007 SEI-Società Editrice Internazionale, Apogeo Unit à B2 Gli oggetti: concetti avanzati.
Advertisements

Oggetti Java.
Capitolo 8 Array Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl.
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
Programmazione Ingegneria TLC
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Si consideri il seguente programma: class Up extends Object { public static int x; public int y; public static void metodo(Up o) {Up w=o.metodo1(x); o.y=w.y+6;}
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
SISSIS MODULO DI JAVA PER LA CLASSE IV DELL’ITI
Fondamenti di Informatica
Programmazione in Java (3)
Package, Interfacce, Ereditarietà Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Esercitazione 2 (3 dicembre 2008)
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Scomposizione di stringhe
Overriding.
Grafico di funzione Disegna la Matematica.
Soluzione Esercizio - Classe Vettore
Esercizi di grafica ….
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Selezione (=scelta) con “if-else”
Lab. Calc. 2005/06 Ereditarietà. Lab. Calc. 2005/06 Scopo di questa lezione: Imparare a creare nuove classi ereditando da classi già esistenti. Capire.
1 laboratorio di calcolo II AA 2003/04 quarta settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Ereditarietà. Concetti principali Ereditarietà e (overriding) di metodi Dynamic dispatch e polimorfismo Ereditarietà e costruttori Livelli di accesso.
Operatori E possibile ridefinire +, -, *, [], ++, ==, < class Vector2D { Friend operator+(const Vector2D& v1, const Vector2D& v2); public: Vector2D(double.
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
CLASSI ASTRATTE L’ereditarietà porta riflettere sul
IL TEMA DELLA RIUSABILITÀ Si vuole riusare tutto ciò che può essere riusato (componenti, codice, astrazioni) Non è utile né opportuno modificare codice.
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
Programmazione in Java Claudia Raibulet
Programmazione in Java (8)
AlgoLab - Ereditarieta' Ereditarietà e polimorfismo in Java Laboratorio di Algoritmi 02/03 Prof. Ugo de Liguoro.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2003/2004.
Diagramma di flusso del problema del Supermercato.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Diagramma di flusso del problema del Calcolo del Bollo di Circolazione
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Corso di Programmazione in Java – Esercizio n° 001
Diagramma di flusso del problema dello stipendio del rappresentante.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Lezione n° 07 - Esercitazione
Esercizi.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Lezioni 1-2.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Polimorfismo Significato Significato Varie famiglie Varie famiglie Polimorfismo in java Polimorfismo in java Polimorfismo di Sottotipo: Apparato in Java.
Sintassi: Programma e classi Program::=prog {ClassDeclList {StatList}} ClassDeclList::=ClassDecl ClassDeclList |  ClassDecl::=class Ide c [StaticMetDefList]
Definizione di classi Capitolo 18 febbraio 2004 Definizione di classi.
Oggetti in C# Lezione 2 Metodi e Static Oggetti in C# - Lezione 2.
#include void main() { int a,b,c,; float s, x,x1,x2,delta,alfa,beta; int num[3]; int i; printf("La forma classica dell'equazione di 2° grado è: a*x^2+b*x+c=0\n.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 11 Ereditarietà in C++
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Gestione dei thread in Java
Programmazione in Java
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
1 Gerarchie e polimorfismo: liste. 2 Generalizzare le liste di interi  List 4 lista di oggetti –non modificabile 4 vorremo poi definire un sottotipo.
Esercitazione del 7 marzo 2008 Ereditarieta’. Esercizio: soluzione Implementare la seguente specifica che definisce un tipo di dato Libro.
Temp. Esercizio DataSet Generare 100 numeri interi casuali tra 1 e Visualizzare la loro media e il valore massimo. A questo scopo realizzare la.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Esercizi.
Oggetti Java.
Transcript della presentazione:

Esercitazione Ereditarietà Polimorfismo

Entita’ Geometrica PuntoCerchioPoligono TriangoloQuadrilatero Rettangolo Quadrato

public abstract class EntitaGeometricaPiana extends Object{ private String colore; public EntitaGeometricaPiana(){colore = "nero";} protected void setColor (String color){ colore = color; } public void stampa() { System.out.println("Sono una generica figura geometrica" );} public void disegna() { System.out.println("Disegno la figura di colore " +colore);

public class Punto extends EntitaGeometricaPiana { private int x, y; public Punto() {x = y = 0; } public Punto(int newx, int newy) { x = newx; y = newy; } public int getx() {... } public void setx(int newx) {... } public int gety() {... } public void sety(int newy) {... }

public boolean equals(Punto p) { if ((x==p.x)&&(y==p.y)) return true; return false; } public void sommaVett(Punto vett) { x = x + vett.getx(); y = y + vett.gety(); } public void trasla(Punto nuovoCentro) { x = nuovoCentro.getx(); y = nuovoCentro.gety(); } public String toString() { …..} }

public abstract class Poligono extends EntitaGeometricaPiana { private int num_lati; public Poligono(int lati){ num_lati = lati;} protected double lato(Punto a, Punto b) { double temp = Math.sqrt((b.gety()-a.gety())* (b.gety()-a.gety())+(b.getx()-a.getx())* (b.getx()-a.getx())); return temp; } public void stampa() { System.out.println("\nSono un poligono generico"); } }

public String toString () { } public boolean equals(Poligono p) { } public abstract double perimetro() }

public class Quadrilatero extends Poligono { protected Punto v1, v2, v3, v4; public Quadrilatero(Punto a, Punto b, Punto c, Punto d) { super(4); v1 = new Punto(a.getx(), a.gety()); v2 = new Punto(b.getx(), b.gety()); v3 = new Punto(c.getx(), c.gety()); v4 = new Punto(d.getx(), d.gety()); } public Quadrilatero() { super(4); v1 = new Punto(); v2 = new Punto(); v3 = new Punto(); v4 = new Punto();}

public void trasla (Punto vettore) {... } public boolean equals(Quadrilatero q) { if (v1.equals(q.v1)&&v2.equals(q.v2)&& v3.equals(q.v3)&&v4.equals(q.v4)) return true; else return false; } public double perimetro() { double lato1 = lato(v1,v2); double lato2 = lato(v2,v3); double lato3 = lato(v3,v4); double lato4 = lato(v4,v1); return (lato1 + lato2 + lato3 + lato4); } public void stampa() {... } public String toString() {... }

public class MainClass { public static void main(String[] args) { // crea un array di figure geometriche //disegna tutte le figure //calcola il perimetro di tutti i poligoni // calcola le aree dei cerchi //stampa tutte le figure //effettua una traslazione di tutti i poligoni //stampa tutte le figure }

input Utilizzare l’array di stringhe argomento del main nel seguente modo Numero_di_figure tipo caratteristiche tipo caratteristiche 2 punto giallo 23 2 triangolo verde