Ciao, questo è quello da fare.
Quindi non abbiamo finito con il capitolo su Credo che sia una copertura piuttosto solida dei
concetti di base del progetto orientato agli oggetti e queste sono alcune delle caratteristiche orientate agli oggetti che sono state discusse.
Penso che la cosa più importante che abbiamo fatto è stata che per capire la scatola bianca la parte che
la maggior parte degli ingegneri si confonde è quando usare un vetro astratto con arsis quando usare un'interfaccia c'è sempre un
po 'di confusione attorno a questi concetti.
Penso che l'abbiamo affrontato abbastanza efficacemente usando il nostro caso di studio come sfondo.
Inoltre, anche le interfacce di un po 'hall possono essere classificate in interfacce di sotto-rappresentazione sensate.
E penso che sia piuttosto importante dato che la maggior parte dei libri sono corsi che in genere non vengono
discussi in Verby.
Infine, abbiamo anche discusso la motivazione alla base dell'introduzione di diversi metodi e interfacce ON-TOPIC
nell'8 luglio.
Quindi la parte multi-missione è molto importante e li abbiamo esaminati utilizzando alcuni scenari realistici
come esempi, in modo tale da avvertire l'esigenza di tali funzionalità.
Quindi penso che nel complesso abbiamo una solida base e, se non ti senti ancora a tuo agio, ti suggerirei
di rivedere la cosa ancora una volta poiché questo ha molto a che fare con il design.
È normale che sarebbe necessario uno sforzo maggiore per far affondare davvero questi concetti.
Potrebbe richiedere anche un po 'di convenienza per essere veramente a proprio agio con questi concetti.
Quindi andiamo avanti e facciamo un breve riassunto delle cose importanti che hai imparato in questo capitolo.
Abbiamo iniziato questo capitolo introducendo una nuova funzione orientata agli oggetti, chiamata Lassus astratto, che
può spiegare come i metodi astratti che l'astratto muto parla da sé.
Questo è qualcosa di astratto nella classe.
Non è concreto, fondamentalmente astratto implica che le classi siano abbastanza astratte o abbastanza generiche che almeno uno dei
suoi metodi non può avere un'implementazione che è l'implementazione che deve essere fornita
da sottoclassi.
Un tale metodo con un'implementazione è chiamato come un metodo astratto, quindi invece non sono concrete le
classi astratte non sono istanziate.
Non ha senso istanziarli.
Invoca un metodo astratto che semplicemente non ha alcuna implementazione.
Ma la mia cosa è che le classi astratte definiscono anche un contratto o uno scopo comune su
cui è utile definire il comportamento del codice delle sottoclassi e anche nel fornire ai dati tutto il polimorfismo.
Ciò è importante non che le classi di ostruzione possano includere anche le sottoclassi di stato che possono ereditare e tutto questo è venuto
a causa di questo nuovo requisito.
Volevamo estendere Threepio dimentica che se avessimo voluto inserire alcuni segnalibri come unbid per bambini si sarebbe presentato
sotto le nuove cose buone.
Aveva il mantenere me ammissibile Materne è astratto in quanto la mia classe è troppo astratta per fornire
qualsiasi implementazione per esso e così sottoscrivi quello che ho fatto e che ha ottenuto in specifiche.
Sappiamo che con le classi astratte e con i modelli astratti si deve sapere in che modo
i modificatori astratti nella loro dichiarazione una classe astratta possono sapere in che modo le questioni astratte e concrete del
libro qui sono alcune specifiche riguardo ai soli metodi astratti matematica astratta che è come nessuno alla fine con un punto e virgola
deve essere ignorato.
E questo significa anche che i metodi astratti non possono essere statici.
Questo perché i metodi statici non possono essere modificati in.
E se c'è anche un solo metodo astratto allora la classe deve essere una classe astratta, infine la sottoclasse di
una classe astratta è anche astratta quindi non è necessario implementare alcun metodo astratto non implementato.
Possono essere implementati da una o più sottoclassi concrete di questo abstract, supperendomi un po '.
Un'altra caratteristica molto importante orientata agli oggetti, chiamata interfacce, può essere utilizzata o crema per
introdurre interfacce.
Avevamo un nuovo requisito di cagare segnalibri amichevoli con un sito pop-up e volevamo farlo solo
per libri e chiacchiere ma non per film.
Quindi il requisito era che volevamo che questa funzionalità relativa alla condivisione terminasse solo con classi triple,
ma non più a causa di ciò che volevamo un protocollo comune in atto e inizialmente
abbiamo giocato con l'idea del libro e dell'estetica incrociando una nuova superclasse conscionable.
Ma presto abbiamo dovuto abbandonare questa idea come libro su Webling che già ci estende segnalandoci su
sappiamo che Java non supporta l'ereditarietà multipla.
Quindi la soluzione era usare le interfacce come mostrato qui.
Quindi, almeno dalla nostra storia, potrebbe sembrare che il fatto che l'ereditarietà multipla non sia possibile in Java è
ciò che ci costringe a usare le interfacce e questo è sbagliato.
È stato semplicemente usato come una ragione per introdurre interfacce.
La chiave è che le imprese sono appropriate per certe cose, alcune interfacce sono appropriate
insieme alla classe o definiscono funzionalità aggiuntive.
Nel caso in cui la capacità aggiuntiva fosse la capacità di condividere i segnalibri, tali interfacce
vengono comunemente chiamate mixup.
Quindi, anche se non vi fosse alcuna perdita di segnalibri, è necessario implementare condivisibile come
interfaccia piuttosto che come classe.
A parte il mix sense e l'ufficio e anche definire le funzionalità di base, è un processo davvero
per un'interfaccia così come rappresenta una nuova interfaccia.
Basta notare che non dice che l'interfaccia dati non è un termine ufficiale.
È stato appena introdotto in questo corso.
E 'stato solo qualcosa che ho trovato in base a come vengono utilizzati.
OK, tutti noi otteniamo un terzo tipo di interfaccia Carmike che entra in aree che sono
semplicemente un'interfaccia senza metodi implementando tale interfaccia.
Una classe sta specificando di avere determinate proprietà su un solo esempio.
Se hai parlato di Serializable e Duffys implementando Serializable, le classi annunciano
che ha una proprietà Serializable che sta annunciando che sta dando il permesso per quegli
oggetti di essere serializzati.
Quindi se una classe non implementa Serializable vuol dire che i suoi oggetti non possono essere serializzati arrivando
a specifiche.
L'interfaccia modificatore deve essere utilizzata nella dichiarazione dell'interfaccia una sottoclasse che implementa un'interfaccia utilizzerà
la parola chiave implements mentre un'interfaccia secondaria che estende un'interfaccia utilizzerà la parola chiave eccellenza.
Non che una classe possa implementare più interfacce in modo simile e aumentare può estendere
interfacce multiple come una perdita astratta.
Un'interfaccia non è un'istanza, quindi può essere utilizzata solo come tipo di riferimento e non come tipo di oggetto.
Fondamentalmente le interfacce sono stateless e non come le classi.
Le interfacce possono solo tenere in considerazione ciò che è solo pubblico o prima di Access.
Qui ci sono tutti i membri che un'interfaccia può in che modo l'interfaccia è principalmente una specifica astratta
e quindi per lo più vedrai solo i modelli e le interfacce astratti non intrusivi e anche la sua tattica.
Le variabili finali delle parole di Della Aidan in deface possono come.
Prima su metodi statici.
E infine le interfacce possono anche includere tipi annidati che possono essere classi annidate che iniziano con Gesù.
So che tutti questi membri che stiamo vedendo qui sono pubblici prima.
Dick non ha letto o previsto che Axelson di noi Dick fosse un livello di accesso rapido solo se l'interfaccia stessa
avesse un livello di accesso predefinito.
Destra.
E come questione di stile, si raccomanda di non specificare esplicitamente quel modificatore di default.
E qui ci sono i vantaggi dei metodi predefiniti che possono far parte delle interfacce da Galois 8 in poi.
La ragione principale dell'introduzione prima era la valutazione dell'interfaccia che può essere aggiunta
a un'interfaccia senza rompere il codice che implementa l'interfaccia.
Non è necessario nemmeno ricompilare per implementare Inkheart sui client del codice di implementazione in grado di invocare i
nuovi metodi aggiunti di recente.
Non si tratta solo di default per l'interfaccia, ma si può aggiungere anche quando l'interfaccia è
stata progettata per la prima volta.
In questo senso è un'interfaccia con l'implementazione predefinita e una sottoclasse può fornire
un'implementazione più specifica.
O può semplicemente usarlo per un'implementazione può essere usato un modello diverso invece di fornire quei
metodi in una classe complementare separata.
Corretta ma la classe di raccolta e il pacchetto totale Javadoc.
Abbiamo anche visto come Sautner che può essere spostato nella lista dell'interfaccia, infine.
Si tratta di interfacce a basso funzionamento, proprio come interfacce funzionali funzionali interfaccie e di quelle interfacce, che
come un solo metodo astratto non ha l'aspetto di quelle interfacce di funzione.
E anche espressione lambda.
Ha detto che un'espressione lambda può essere passata come argomento a un metodo che ha un
parametro funzionale e metrico.
Altrimenti avremmo un errore di compilazione.
Infine abbiamo visto che le interfacce possono anche definire i metodi di arresto dall'8 luglio in poi.
Il vantaggio principale di questo è che sono anche utili ed eliminano le classi companion.
Quindi questo è uno dei vantaggi dei seguenti metodi.
Tuttavia, a partire da questo è un buon candidato per sostituire i metodi di fabbrica che sono responsabili
della creazione di oggetti diversi metodi.
D'altra parte ci sono buoni candidati per sostituire i metodi che gli oggetti di input di Man-Yi
polit hanno insolitamente disattivato il loro stato come il metodo soft nella classe collections.
Ecco alcuni efficaci Demp di luglio che sono stati discussi in questo capitolo che commenta per preferire
le interfacce tutte erano classi astratte su questo rende ancora più senso di un Djala 8 in poi.
Come le interfacce possono anche il modo in cui i metodi concreti non si interfacciano così.
L'evoluzione non è più un problema prima dell'8 luglio.
Se Dola preferiva quell'interfaccia potrebbe quindi prendere in considerazione l'idea di utilizzare concetti astratti, ma le classi di attività
sono ancora necessarie quando è necessario definire classi di offset del comportamento rappresentativo.
Ma quello stato, Ingworth, ha ragione.
E ricordiamo anche che le classi astratte vengono utilizzate per fornire implementazioni scheletriche al di fuori
delle interfacce.
Ogni volta che è possibile, cerca di utilizzare un'interfaccia come riferimento in tutte le dichiarazioni di variabili solf e usali
come tipi di ritorno del metodo.
Questo è un elemento importante e anche facile da seguire.
La terza afferma che dobbiamo usare le gerarchie di classi come il modo in cui abbiamo fatto
in custodia e iniziare a usarlo per tornare indietro a un codice più pulito e più pulito, oltre che a un codice flessibile.
Quindi questo è tutto.
E questa è la fine di Patu, ovviamente.
E, come accennato in precedenza, è una copertura piuttosto solida dei concetti di base del design orientato agli oggetti, specialmente quando abbiamo
preso tempo per comprendere i concetti da un punto di vista concettuale.
E ora siamo lasciati a bocca aperta e chiedendo il progetto Verby metterà praticamente in pratica
tutto ciò che abbiamo imparato.
Tutti possiamo vedere che abbiamo praticamente completato tutti i concetti fondamentali che legano le buone serie di base
del linguaggio nella parte 1 e i concetti orientati agli oggetti della Parte 2.
Di seguito vedremo come possiamo già utilizzare Eclipse e quindi inizieremo con il progetto.
Quindi grazie per l'ascolto e ti vedrò nel prossimo capitolo su Idol quindi felice codifica.