Myslenie obiektowe w programowaniu Wydanie IV.pdf

(614 KB) Pobierz
Tytuł oryginału: The Object-Oriented Thought Process (4th Edition)
Tłumaczenie: Łukasz Piwko
ISBN: 978-83-246-8120-4
Authorized translation from the English language edition, entitled: THE OBJECT-ORIENTED THOUGHT
PROCESS, Fourth Edition; ISBN 0321861272; by Matt Weisfeld; published by Pearson Education, Inc,
publishing as Addison Wesley.
Copyright © 2013 Pearson Education, Inc.
All rights reserved. No part of this book may by reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Polish language edition published by HELION S.A. Copyright © 2014.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/myobp4
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
O autorze ...........................................................................13
Wst p ...............................................................................15
Tematyka ksi ki ..........................................................................15
Nowo ci w czwartym wydaniu .........................................................17
Adresaci ksi ki ............................................................................17
Metodyka .....................................................................................18
Konwencje ....................................................................................19
Kod ród owy ................................................................................19
Rozdzia 1
Podstawowe poj cia obiektowo ci .....................................21
Podstawowe poj cia ......................................................................22
Obiekty a stare systemy ................................................................22
Programowanie obiektowe a proceduralne .......................................24
Zamiana podej cia proceduralnego na obiektowe ............................27
Programowanie proceduralne ....................................................27
Programowanie obiektowe ........................................................28
Definicja obiektu ...........................................................................28
Dane obiektu ...........................................................................29
Zachowania obiektu .................................................................29
Definicja klasy ..............................................................................33
Tworzenie obiektów ..................................................................34
Atrybuty ...................................................................................35
Metody ...................................................................................36
Komunikaty .............................................................................36
Modelowanie klas przy u yciu diagramów UML ................................36
Hermetyzacja i ukrywanie danych ....................................................37
Interfejsy .................................................................................37
Implementacje .........................................................................38
Realistyczna ilustracja paradygmatu interfejsu i implementacji ....39
Model paradygmatu interfejs – implementacja ............................39
Kup książkę
Poleć książkę
6
My lenie obiektowe w programowaniu
Dziedziczenie ................................................................................40
Nadklasy i podklasy .................................................................42
Abstrakcja ...............................................................................42
Zwi zek typu „jest” ..................................................................42
Polimorfizm ..................................................................................44
Kompozycja ..................................................................................47
Abstrakcja ...............................................................................47
Zwi zek typu „ma” ...................................................................47
Podsumowanie .............................................................................48
Listingi .........................................................................................48
TestPerson ..............................................................................48
TestShape ..............................................................................49
Rozdzia 2
My lenie w kategoriach obiektowych .................................51
Ró nica mi dzy interfejsem a implementacj ...................................52
Interfejs ..................................................................................54
Implementacja .........................................................................54
Przyk ad implementacji i interfejsu ............................................55
Zastosowanie my lenia abstrakcyjnego
w projektowaniu interfejsów .........................................................59
Minimalizowanie interfejsu .............................................................61
Okre lanie grupy docelowej ......................................................62
Zachowania obiektu .................................................................63
Ograniczenia rodowiska ..........................................................63
Identyfikowanie publicznych interfejsów .....................................63
Identyfikowanie implementacji ..................................................64
Podsumowanie .............................................................................65
ród a ..........................................................................................65
Rozdzia 3
Zaawansowane poj cia z zakresu obiektowo ci ..................67
Konstruktory .................................................................................67
Kiedy wywo ywany jest konstruktor ............................................68
Zawarto konstruktora ............................................................68
Konstruktor domy lny ...............................................................69
Zastosowanie wielu konstruktorów ............................................70
Projektowanie konstruktorów ....................................................73
Obs uga b dów ............................................................................74
Ignorowanie problemu ..............................................................74
Szukanie b dów i ko czenie dzia ania programu ........................75
Szukanie b dów i próba ich naprawienia ...................................75
Zg aszanie wyj tków .................................................................76
Poj cie zakresu .............................................................................78
Atrybuty lokalne .......................................................................78
Atrybuty obiektowe ...................................................................79
Atrybuty klasowe ......................................................................81
Kup książkę
Poleć książkę
Spis tre ci
Przeci anie operatorów ................................................................82
Wielokrotne dziedziczenie ..............................................................83
Operacje obiektów .........................................................................84
Podsumowanie .............................................................................85
ród a ..........................................................................................85
Listingi .........................................................................................86
TestNumber ............................................................................86
7
Rozdzia 4
Anatomia klasy ..................................................................87
Nazwa klasy .................................................................................87
Komentarze ..................................................................................89
Atrybuty ........................................................................................89
Konstruktory .................................................................................91
Metody dost powe ........................................................................93
Metody interfejsu publicznego ........................................................95
Prywatne metody implementacyjne .................................................95
Podsumowanie .............................................................................96
ród a ..........................................................................................96
Listingi .........................................................................................96
TestCab ..................................................................................96
Rozdzia 5
Wytyczne dotycz ce projektowania klas .............................99
Modelowanie systemów wiata rzeczywistego ..................................99
Identyfikowanie interfejsów publicznych ........................................100
Minimalizacja interfejsu publicznego ........................................100
Ukrywanie implementacji ........................................................101
Projektowanie niezawodnych konstruktorów i destruktorów .............102
Projektowanie mechanizmu obs ugi b dów w klasie ......................103
Pisanie dokumentacji i stosowanie komentarzy ........................103
Tworzenie obiektów nadaj cych si do kooperacji .....................104
Wielokrotne u ycie kodu ..............................................................104
Rozszerzalno ...........................................................................105
Tworzenie opisowych nazw ......................................................105
Wyodr bnianie nieprzeno nego kodu .......................................106
Umo liwianie kopiowania i porównywania obiektów ...................107
Ograniczanie zakresu .............................................................107
Klasa powinna odpowiada sama za siebie ..............................108
Konserwacja kodu .......................................................................109
Iteracja .................................................................................110
Testowanie interfejsu .............................................................110
Wykorzystanie trwa o ci obiektów .................................................112
Serializacja i szeregowanie obiektów .......................................113
Podsumowanie ...........................................................................113
ród a ........................................................................................114
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin