Programowanie w jezyku Delphi.pdf

(605 KB) Pobierz
Tytuł oryginału: Coding in Delphi
Tłumaczenie: Andrzej Watrak
ISBN: 978-83-283-0797-1
©2012 – 2014 Nick Hodges
Polish edition copyright © 2016 by Helion S.A.
All rights reserved.
All rights reserved. No part of this book may be 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 the Publisher.
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)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/prodel.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/prodel
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
Przedmowa ............................................................................................................................. 9
Wprowadzenie ...................................................................................................................... 11
Podzi kowania ...................................................................................................................... 13
Platformy wykorzystane w ksi ce ....................................................................................... 15
Rozdzia 1. Wyj tki i ich obs uga ......................................................................................... 17
1.1. Wprowadzenie ...............................................................................................................17
1.2. Strukturalna obs uga wyj tków ........................................................................................17
1.3. Jak nie korzysta z wyj tków ...........................................................................................18
Nie „po ykaj” wyj tków ...............................................................................................18
Nie przechwytuj wyj tków bezkrytycznie .....................................................................18
Nie nadu ywaj wyj tków .............................................................................................19
Nie u ywaj wyj tków jako podstawowego sposobu sygnalizacyjnego ...........................19
1.4. Jak prawid owo korzysta z wyj tków ..............................................................................20
U ywaj wyj tków tak, aby kod ich obs ugi nie zak óca realizacji programu ..................20
Twórcy aplikacji powinni tylko przechwytywa wyj tki ................................................20
Przechwytuj tylko wybrane wyj tki ..............................................................................20
Wyj tki mog zg asza twórcy komponentów i bibliotek ..............................................22
Zg aszaj w asne niestandardowe wyj tki .......................................................................22
Niech inni programi ci widz komunikaty o wyj tkach ................................................22
mia o podawaj dok adne komunikaty o wyj tkach .....................................................23
W bibliotece twórz dwie wersje ka dej metody ...........................................................23
1.5. Wnioski ...........................................................................................................................24
Rozdzia 2. Interfejsy ............................................................................................................ 25
2.1. Wprowadzenie ...............................................................................................................25
2.2. Rozprz ganie kodu .........................................................................................................25
2.3. Czym jest interfejs? ..........................................................................................................26
2.4. Interfejsy s wsz dzie ......................................................................................................26
2.5. Prosty przyk ad ................................................................................................................28
2.6. Implementacja interfejsu .................................................................................................29
2.7. Kilka dodatkowych uwag .................................................................................................30
2.8. Dziedziczenie interfejsów ...............................................................................................30
2.9. Inne uwagi warte zapami tania .......................................................................................31
2.10. Klasa TInterfacedObject ...................................................................................................31
2.11. Jak poprawnie u ywa interfejsów ...................................................................................33
Kup książkę
Poleć książkę
4
Programowanie w j zyku Delphi
2.12. Dlaczego nale y u ywa interfejsów? .............................................................................. 34
Kodowanie abstrakcyjne .............................................................................................. 34
Implementacje pod czane .......................................................................................... 35
Komunikacja mi dzy modu ami .................................................................................. 35
Testowalny kod ........................................................................................................... 36
Wzorce kodu .............................................................................................................. 36
Rozdzia 3. Typy generyczne ................................................................................................ 37
3.1. Z pomoc przybywa typ generyczny ............................................................................... 38
3.2. Ograniczenia .................................................................................................................. 39
Ograniczenie constructor ............................................................................................ 40
Ograniczenie class ....................................................................................................... 40
Ograniczenie record .................................................................................................... 41
Ograniczenie interface ................................................................................................ 42
Przekazywanie rekordów jako typów parametrycznych ............................................... 42
3.3. Interfejsy generyczne ...................................................................................................... 43
3.4. Metody generyczne ........................................................................................................ 43
3.5. Kolekcje generyczne ....................................................................................................... 44
3.6. My lenie generyczne ...................................................................................................... 45
3.7. Wystudiowany, prosty przyk ad ...................................................................................... 45
3.8. Praktyczny przyk ad ........................................................................................................ 46
Typ TWylicz ................................................................................................................ 46
Problemy z typami generycznymi ................................................................................ 48
3.9. Wnioski .......................................................................................................................... 49
3.10. Wywiad z typem generycznym ....................................................................................... 49
Rozdzia 4. Metody anonimowe ........................................................................................... 51
4.1. Wprowadzenie ............................................................................................................... 51
4.2. Definicja ......................................................................................................................... 51
4.3. Po co to wszystko? .......................................................................................................... 52
Prosty przyk ad ............................................................................................................ 53
Metody anonimowe jako zmienne .............................................................................. 55
4.4. Domkni cia .................................................................................................................... 55
4.5. Deklaracje standardowe ................................................................................................. 56
4.6. Praktyczny przyk ad ........................................................................................................ 57
4.7. Inny, jeszcze ciekawszy przyk ad .................................................................................... 58
Metody anonimowe s bardzo elastyczne .................................................................... 59
4.8. Metody anonimowe w bibliotece RTL ............................................................................. 61
Klasa TThread i metody anonimowe ............................................................................ 61
4.9. Predykaty ....................................................................................................................... 61
I co z tego? .................................................................................................................. 61
4.10. Wnioski .......................................................................................................................... 63
4.11. Wywiad z metod anonimow ....................................................................................... 63
Rozdzia 5. Kolekcje .............................................................................................................. 65
5.1. Wprowadzenie ............................................................................................................... 65
5.2. Ogólne uwagi dotycz ce kolekcji .................................................................................... 65
5.3. Kolekcje w j zyku Delphi ............................................................................................... 66
Kolekcja TList<T> ...................................................................................................... 66
Kolekcja TStack<T> ................................................................................................... 68
Kolekcja TQueue<T> ................................................................................................ 69
Kolekcja TDictionary<TKey, TValue> ......................................................................... 70
Kolekcje obiektów ....................................................................................................... 72
Kup książkę
Poleć książkę
Spis tre ci
5
5.4. Kolekcje w platformie Delphi Spring Framework .............................................................72
Ogólne informacje .......................................................................................................72
Dwa nieopisane dotychczas typy kolekcji .....................................................................73
5.5. Dlaczego nale y u ywa kolekcji Spring4D? ....................................................................73
5.6. Wnioski ...........................................................................................................................74
Rozdzia 6. Enumeratory w Delphi ....................................................................................... 75
6.1. Wprowadzenie ...............................................................................................................75
6.2. Interfejs IEnumerator<T> ...............................................................................................77
6.3. Specjalistyczne enumeratory ...........................................................................................78
6.4. Klasa TEnumerable<T> w module Generics.Collections .................................................80
6.5. Wnioski ...........................................................................................................................80
Rozdzia 7. Interfejs IEnumerable ........................................................................................ 81
7.1. Interfejs IEnumerable<T> ..............................................................................................82
7.2. Predykaty ........................................................................................................................83
7.3. Wywiad z interfejsem IEnumerable<T> (IEoT) ...............................................................87
Rozdzia 8. Informacje RTTI ................................................................................................. 89
8.1. Wprowadzenie ...............................................................................................................89
8.2. Typ TValue ......................................................................................................................90
8.3. RTTI i klasy ......................................................................................................................92
Klasa TRttiType ............................................................................................................94
8.4. RTTI i instancje klas .........................................................................................................96
Odczytywanie i nadawanie warto ci ............................................................................96
Wywo ywanie metod ...................................................................................................97
8.5. Uwagi ogólne ..................................................................................................................98
8.6. RTTI i inne typy danych ..................................................................................................98
RTTI i typy porz dkowe ...............................................................................................99
RTTI i rekordy ..............................................................................................................99
RTTI i tabele ................................................................................................................99
8.7. Inne metody RTTI .........................................................................................................100
8.8. Dyrektywy kompilatora zwi zane z RTTI .......................................................................100
Silna konsolidacja typów ............................................................................................102
8.9. Wnioski .........................................................................................................................102
Rozdzia 9. Atrybuty ........................................................................................................... 103
9.1. Wprowadzenie .............................................................................................................103
9.2. Czym s atrybuty? .........................................................................................................103
9.3. Prosty przyk ad ..............................................................................................................107
9.4. Wnioski .........................................................................................................................109
9.5. Wywiad z atrybutem .....................................................................................................109
Rozdzia 10. Klasa TVirtualInterface ................................................................................. 111
10.1. Troch lepsza klasa TVirtualInterface .............................................................................115
10.2. Naprawd u yteczny przyk ad .......................................................................................116
10.3. Interfejs IProstaAtrapa ....................................................................................................116
10.4. Klasa TProstaImitacja .....................................................................................................118
10.5. Wnioski .........................................................................................................................120
Rozdzia 11. Wst p do wstrzykiwania zale no ci .............................................................. 121
11.1. Wprowadzenie ..............................................................................................................121
11.2. Czym jest zale no ? .....................................................................................................121
11.3. Prawo Demeter .............................................................................................................122
11.4. Przyk ad projektu ..........................................................................................................122
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin