Idéias de programação orientada a objetos Delphi
Liu Yizhu
Prefácio
A primeira vez que conheci Delphi não foi por causa do software Delphi da Borland Company, mas porque li a palavra na obra clássica de Platão "Diálogos de Platão" "Defesa".
Um amigo meu foi.
Delfos é onde vive o oráculo, o deus da profecia. "Diálogos de Platão" registra que um amigo de Sócrates foi a Delfos para perguntar a Pítia, a deusa da profecia, quem era a pessoa mais sábia. Os Pítios diziam que ninguém era mais sábio que Sócrates. Sócrates ficou profundamente perplexo porque se viu rodeado de políticos, poetas, filósofos e artistas. Não são estes “especialistas” e “autoridades” mais sábios? Eu sou muito pior que eles.
Sócrates visitou esses “especialistas” e “autoridades” um por um, mas descobriu que muitas vezes eles eram hipócritas, enganando-se e fingindo saber coisas que não entendiam. Através da visita, Sócrates também descobriu que sabia muito pouco em muitos aspectos. Mas Sócrates não fingiu compreender, confessou a sua ignorância. Isto é o que Pítia, a deusa da profecia, chama de verdadeira “sabedoria”.
Na verdade, este tipo de sabedoria não foi proposto pela primeira vez pelos antigos gregos. Muito antes de Sócrates, o Lao Tzu do nosso país já tinha resumido tudo. No Tao Te Ching diz-se que “quem conhece os outros é sábio, e quem conhece a si mesmo é sábio”.
Agora, o Delphi que usamos já é uma excelente linguagem de programação e ferramenta de desenvolvimento de software. No entanto, diante do Delphi profundo e em constante desenvolvimento, ainda sabemos muito pouco sobre muitos aspectos. Mas ao aprender e usar Delphi, temos também a atitude de autoconhecimento de Sócrates e a sabedoria de saber tudo?
Existem muitos amigos que escolhem o Delphi. O pensamento inicial pode ser porque o Delphi é poderoso, fácil de aprender e usar. Eles até alegaram ser proficientes em Delphi em três meses e ousaram desenvolver software de forma independente em meio ano. Na verdade, tudo o que eles podem fazer é arrastar e soltar controles. Quando estão intoxicados por seus próprios programas, na verdade estão intoxicados pela extraordinária sabedoria de Delphi e pelos controles de outras pessoas. Esse tipo de programador Delphi é frequentemente apelidado de “procrastinador” por outros. Mas eles parecem se considerar mestres Delphi.
Também há muitos amigos que desistiram do Delphi. O pensamento inicial pode ser porque eles pensam que o Delphi é apenas uma ferramenta RAD semelhante ao VB. Na opinião deles, Delphi é apenas programação de controle e não pode realmente implementar OOP como C++ ou Java. Eles duvidam que o Delphi tenha as características de uma linguagem de programação orientada a objetos e que possa implementar tecnologias orientadas a objetos, como polimorfismo e padrões. Aos seus olhos, apenas aqueles que usam C++ ou Java são verdadeiros mestres.
Então, o que é um verdadeiro mestre e como alguém pode se tornar um?
Primeiro, vamos dar uma olhada no que é um mestre de artes marciais, talvez possamos nos inspirar nisso.
Quem adora artes marciais ou romances de artes marciais sabe que existem duas formas de praticar artes marciais: treino externo e treino interno. O treinamento externo de punhos, chutes e armas, a qualidade dos punhos e chutes e armas são a chave, o treinamento interno do Qi, o treinamento para refinar o Qi, o treinamento do espírito e o retorno da fraqueza é a base; A maior diferença entre estes dois métodos de cultivo reside na relação funcional entre tempo e habilidade, conforme mostrado na Figura 1. Em termos leigos, nos primeiros 3 anos, quem pratica competências externas pode facilmente derrotar quem pratica competências internas; você não poderá competir com aqueles que praticam habilidades internas. 20 anos depois, o mestre da força interna é invencível no mundo. A razão reside precisamente na relação dialética entre “qi” e “qi”.
“Armas” são objetos tangíveis, e espadas, revólveres, espadas e alabardas são todas armas tangíveis. Praticar artes marciais ao ar livre é inseparável dessas armas tangíveis. Praticar artes marciais é treinar armas. Portanto, os mestres das artes marciais que usam armas e espadas geralmente confiam na qualidade das armas.
"Qi" é uma substância invisível, e toda sabedoria, poder mágico e pensamentos são substâncias invisíveis. O cultivo interno de Qigong é inseparável dessas qualidades intangíveis. Praticar Qigong é treinamento de Qi. Portanto, os verdadeiros mestres das artes marciais muitas vezes não precisam depender de armas específicas. Para eles, qualquer objeto tangível pode ser transformado em uma arma de acordo com o espírito. Um leque dobrável ou um batedor de moscas em sua mão é tão poderoso quanto uma lança ou espada famosa, devido ao ganho de Qi.
Figura 1 Diagramas de função de tempo e habilidade de dois métodos de cultivo
No desenvolvimento de software, as ferramentas de programação são “instrumentos” e as ideias de programação são “qi”.
Entre ferramentas de programação, ferramentas fáceis de usar, como VB e PB; ferramentas difíceis de usar, como assembly e C++;
No pensamento de programação, existem orientação a objetos e orientação a processos, que são tanto visão de mundo quanto metodologia. O primeiro reflete o modo como as pessoas pensam sobre objetos objetivos, e o último reflete o modo como as máquinas pensam sobre as instruções. Na prática contínua de desenvolvimento de software, a superioridade do primeiro tem sido continuamente refletida e confirmada.
Dominar ideias de programação orientada a objetos é como obter o verdadeiro significado do treinamento de Qi. Sua importância muitas vezes supera a escolha da linguagem de programação!
Mesmo que alguém escolha ferramentas orientadas a objetos, ainda não poderá se tornar um verdadeiro mestre. Porque o que ele valoriza é a qualidade do “qi” e ignora o cultivo do “qi”.
Na verdade, "não importa se um sistema ou linguagem é orientado a objetos. O que importa é como ele pode ser orientado a objetos e quais métodos são usados para obter os benefícios relacionados." ("Método Orientado a Objetos: Princípios e Prática" Machinery Industry Press, março de 2003)
Embora seja fácil praticar armas, é difícil tornar-se um mestre. Embora o treinamento de Qi seja bom, os resultados são lentos e a solidão é insuportável. Não é possível para as pessoas comuns compreenderem claramente a mente e seguirem o caminho certo. Portanto, muitos mestres de artes marciais praticam primeiro as armas e depois o Qi. Eles praticam tanto interna quanto externamente para alcançar o sucesso.
Para os recém-chegados ao mundo das artes marciais, eles precisam usar o poder das armas para compensar a falta de força interna. A qualidade das armas costuma ser muito importante. Mas à medida que as artes marciais aumentam e a força interna se desenvolve, a dependência de armas deve diminuir. "A Lenda dos Heróis Condor" Yang Guo pratica esgrima Quando aprende, ele gosta de usar espadas afiadas. Depois de se tornar proficiente em esgrima, ele gosta de usar espadas cegas. ser usados como espadas. Portanto, para verdadeiros mestres, a qualidade da espada muitas vezes não importa.
Da mesma forma, o crescimento dos mestres de software também passa por esse processo. Iniciantes em programação precisam escolher uma boa linguagem, que possa alcançar o dobro do resultado com metade do esforço, ao mesmo tempo que estimula o interesse e aumenta a confiança. Depois de estar familiarizado com uma linguagem, você deve usá-la como uma oportunidade para dominar ideias de programação orientada a objetos. Neste momento, o que você conhece não é mais a gramática, funções e bibliotecas de classes da própria linguagem, mas métodos de pensamento como ligação, polimorfismo, padrões, etc., e então, por analogia, não é difícil aprender outras linguagens orientadas a objetos. Os verdadeiros mestres de software que trabalham duro em suas habilidades internas, têm a coragem de praticar e, em última análise, têm sucesso, não estão limitados pelas linguagens de programação. Eles podem estar familiarizados com uma ferramenta de desenvolvimento, mas é apenas uma ferramenta que carrega seu espírito invisível. Eles têm a mente aberta, estão ansiosos para aprender e são bons em resumir. Suas ideias, métodos, modelos e até mesmo filosofias não apenas transcendem as linguagens de programação, mas também podem orientar a prática das linguagens de programação.
Delphi fornece um atalho para o crescimento de mestres de software tanto interna quanto externamente. Ao aprender e praticar Delphi, você pode usar suas vantagens de RAD e controle para derrotar rapidamente seus oponentes quando está apenas começando. Quando você aprende e pratica Delphi, você também pode usar seus recursos OOP, a força do VCL e a força; de bacon para alcançar um sucesso invencível.
A mundialmente famosa Seita da Espada Huashan já foi dividida em “Seita da Espada” e “Seita Qi”. A primeira apenas praticava armas e ensinava movimentos;
Aprender Delphi é como praticar a esgrima Huashan. Seguir o caminho RAD é "Sword Master", e começar com OOP é "Air Master". O primeiro gosta de usar controles e se interessa por técnicas e truques estranhos; o segundo gosta de objetos e gosta de padrões de métodos; O primeiro busca resultados rápidos, enquanto o segundo tem grandes aspirações.
Acho que amigos que escolhem Delphi para RAD ou desistem do Delphi por causa de OOP não entendem realmente Delphi. Delphi é um bom software de desenvolvimento RAD, mas é difícil se tornar um verdadeiro mestre sem aprender OOP e se aprofundar em VCL. Da mesma forma, Delphi é uma autêntica ferramenta de programação OOP. Combinada com o poderoso RAD e o compilador eficiente do Delphi, pode ter mais vantagens e maior eficiência do que outras linguagens OOP. Se pudermos quebrar as visões sectárias, praticar "qi" e "qi" juntos e praticar tanto interno quanto externo, acredito que não será difícil para os programadores Delphi crescerem de uma rapidinha RAD para um mestre OOP e, eventualmente, serem orgulhoso do mundo e dominar o mundo.
Anteriormente discuti brevemente a relação dialética entre “Qi” e “Qi”. Na programação, uma das chaves para cultivar e melhorar a força interna é dominar a ideia da programação orientada a objetos. Na verdade, acho que a programação orientada a objetos é a que mais se alinha com a beleza da verdade invisível da estrada.
Por que você diz isso? “A grande transformação dos tempos antigos nasce com o invisível” (a segunda reação em “Guiguzi”). O mistério do Qi reside primeiro na sua “grande transformação”. A grande mudança é a grande criação do céu e da terra, que reúne todo o poder da criação e da mudança. O pensamento de programação orientado a objetos tem essa qualidade.
Laozi disse: “O início sem nome do céu e da terra é o nome da mãe de todas as coisas”. A coisa mais misteriosa sobre o chamado modo de pensar orientado a objetos é como identificar e definir objetos a partir de “não nomeados” e como construir e usar objetos a partir de “nomeados”.
Para desenvolvedores de software, o processo de compreensão de entidades objetivas e de análise e design das necessidades do usuário é o processo de descoberta e definição de objetos, e é um processo que vai do inominável ao famoso. Entretanto, os objetos aqui são diferentes de variáveis ou funções em processos orientados a processos. Os objetos são criados por classes. As classes são conceitos abstratos, "nomes" definíveis e são a mãe dos objetos.
Como resultado, o Tai Chi deu à luz Liang Yi, e Liang Yi deu à luz o Bagua. Através da herança e derivação de classes, todas as coisas nasceram e os sistemas foram formados.
Mesmo a "ferramenta" como ferramenta de programação orientada a objetos também incorpora e carrega o "qi" das ideias de programação orientada a objetos.
A primeira frase do capítulo de abertura de "Zhou Yi Shen Tong Qi", um trabalho clássico de treinamento de energia interna conhecido como "Rei do Sutra da Alquimia Eterna", é "O universo é o portão de Yi, o pai de todos os hexagramas . Kan Li Kuang Guo, o eixo principal do centro de movimento, feminino. Acredita-se que os quatro hexagramas de Mu sejam "Pu".
Do ponto de vista do desenvolvimento de software, embora as ferramentas de programação orientada a objetos ofereçam a possibilidade de construir infinitos tipos de sistemas de software, essa infinidade é construída dentro da estrutura limitada de sua própria biblioteca de classes. Quer seja a VCL do Delphi, a biblioteca de classes do Java ou a estrutura .net, todos eles são construídos em uma estrutura semelhante ao Zhouyi Bagua. “É fácil ter Tai Chi, Tai Chi produz dois yangs, dois yangs produzem quatro imagens e quatro imagens produzem Bagua. Esta estrutura é perfeita e tem criatividade infinita.
Taiji é TObject em Delphi, é o átomo do sistema de construção, é o ancestral de todas as classes, possui as características básicas de todas as classes. No mundo da programação Delphi, a classe raiz TObject gera a classe de objeto persistente TPersistent, e a classe de objeto persistente TPersistent gera a classe de objeto componente TComponent, que fornece controles avançados e funções poderosas para o desenvolvimento de aplicativos.
No entanto, a estrutura estrutural da biblioteca de classes não só nos dá componentes que podem ser usados como “instrumentos”, mas mais importante ainda, esta estrutura realiza a construção e mudança de “qi” através do relacionamento e funções relacionadas entre classes, refletindo objeto- orientado A essência do pensamento de programação. Fornece uma excelente demonstração para criarmos nossos próprios sistemas.
O segundo mistério do Qi reside na sua “origem invisível”. Invisibilidade significa liberdade, abertura e adaptabilidade. A ideia de programação orientada a objetos está repleta da sabedoria invisível do “qi”.
Por exemplo, o polimorfismo na programação orientada a objetos permite que os programadores escrevam programas mais versáteis e abertos. Os programadores podem escrever um método abstrato virtual puro Stop() para o objeto Vehicle. Esse método universal Stop() não tem nada a ver com o carro que é dirigido. Os programadores podem deixar que as classes derivadas se preocupem em completar o método stop() e continuar escrevendo seus próprios procedimentos gerais em um nível mais alto de abstração. Mesmo que o método stop() do objeto Car seja completamente diferente do método stop() do objeto Bicycle, o programador também pode usar Vehicle.stop() para permitir que o objeto criado saiba automaticamente qual método apropriado será chamado. . Isto dá ao programa a abertura e adaptabilidade do “qi”.
Ao praticar qigong, enfatiza-se que “a virtude superior é a inação e não é buscada por meio da observação. A virtude inferior é praticada e será usada indefinidamente (“Zhou Yi Shen Tong Qi”).
No pensamento da programação orientada a objetos, "Shangde" é um método abstrato virtual puro de ligação tardia, uma interface de objeto que permanece inalterada e se adapta a mudanças em constante mudança, é um alto grau de abstração das coisas e é metafísica . "Shangde Wuwei" significa que no nível abstrato, o lado "virtual" da programação é refletido através da inação, porque neste momento, o objeto real realmente usado não pode ser determinado (pode ser um objeto Car ou um objeto Bicycle, ou pode ser um objeto Car ou um objeto Bicycle, ou pode ser inventado mais tarde) Novo objeto de transporte), "não baseado na observação" exige que saltemos das restrições de necessidades específicas e não consideremos o código de implementação específico. Portanto, não há implementação de código em métodos abstratos virtuais puros ou interfaces de objetos.
No pensamento da programação orientada a objetos, "Xiaode" refere-se à cobertura de métodos abstratos virtuais puros e à implementação de interfaces de objetos. "Faça isso com moralidade" fornece implementação de código real. “É usado indefinidamente” para atender às necessidades em constante mudança.
O polimorfismo permite aos programadores derivar objetos e implementar programas posteriormente sem muito esforço. Não importa se o programador está construindo aplicações para Carros e Bicicletas e não sabe que Caminhões existem. Os programadores podem escrever métodos stop() de substituição para as classes Car e Bicycle que herdam a classe Vehicle. Desta forma, no programa, desde que os objetos Car e Bicycle criados sejam convertidos para o tipo Vehicle e o método Stop() do Vehicle seja usado, os objetos Car e Bicycle podem ser vinculados dinamicamente ao stop() método que atenda às suas próprias necessidades. Mesmo que um objeto Truck seja adicionado posteriormente, o método Stop() de Vehicle ainda será chamado e nenhuma alteração adicional no programa será necessária.
"As coisas são naturais e as coisas são combinadas e separadas. Algumas estão próximas, mas não podem ser vistas, e outras estão distantes e podem ser conhecidas. Aquelas que estão próximas, mas não podem ser vistas, não podem ser compreendidas; aquelas que estão longe podem ser vistas , mas podem ser vistos no futuro." ("Guiguzi") Chega em quarto lugar)
Embora as coisas objetivas sejam complexas e as necessidades dos usuários mudem, também existem certas leis inerentes.
Aqueles que estão próximos, mas invisíveis, apenas olham para a realização de funções específicas à sua frente e não observam as leis gerais de desenvolvimento das coisas. Eles apenas têm dados isolados e processos mecânicos em suas mentes. ser pego de surpresa e achar difícil lidar com isso. Essa programação é estática, mecânica e difícil de manter e estender.
Aqueles que conseguem ver à distância são bons em descobrir padrões, valorizar a reutilização de códigos e ver objetos orgânicos e relacionamentos harmoniosos, mesmo que as necessidades mudem, eles podem lidar com eles com calma e facilidade. Essa programação é dinâmica, flexível, sustentável e extensível.
Paul Kimmel disse no "Guia de desenvolvimento de aplicativos Delphi6" "É um erro usar ferramentas orientadas a objetos de uma forma não orientada a objetos. Usar Delphi para escrever programas estruturados pode chegar rapidamente à versão beta... Seu programa pode nunca ser capaz de escapar da edição beta. Obtenha a resposta errada rapidamente e ainda assim esteja errado.
Também usando Delphi, se não houver uma ideia de programação orientada a objetos, será como "não perceber o que está sendo dito". No final, ainda será "quase, mas invisível", dificultando o desenvolvimento de um sistema excelente. Somente praticando muito, resumindo cuidadosamente e dominando as ideias amplas e profundas da programação orientada a objetos poderemos controlar nosso “qi” livremente, “reverter o que aprendemos, o que aprendemos” e, finalmente, alcançar o estado de “saber o que está longe”.
Já se passaram mais de 30 anos desde que a primeira linguagem verdadeiramente orientada a objetos, Smalltalk (1972), apareceu. No entanto, a maioria dos livros de programação orientada a objetos nas livrarias são C++ e Java. Parece que existem apenas essas duas linguagens orientadas a objetos. Na verdade, existem 4 ramos básicos de linguagens orientadas a objetos reais e quase 20 tipos. . Como existem poucos livros sobre programação orientada a objetos Delphi, muitos programadores têm que desistir do Delphi para aprender OOP. Esta é realmente uma grande tragédia de Delphi. Quando li "Thinking in Java" de Bruce Eckel, lamentei por que não existe tal obra-prima do Delphi.
Na verdade, Delphi pertence a uma família conhecida. Foi desenvolvido pela Borland Company com base no Object Pascal. Agora, a Borland Company usa a linguagem Delphi para substituir o Object Pascal [1] a partir do Delphi7. Na verdade, Delphi não é inferior a C++ e Java em termos de OOP. Os leitores podem consultar o apêndice deste livro "Comparação de linguagens de programação orientada a objetos: Java, C++ e Delphi".
Para esse fim, sempre planejei escrever um livro sobre programação orientada a objetos Delphi para resumir meu aprendizado e experiência prática em programação orientada a objetos Delphi. No entanto, esta é uma tarefa muito difícil. Todo o livro demorou muito, desde a concepção até a escrita, e só foi concluído oficialmente em maio deste ano. Acontece que este ano também é o 20º aniversário da fundação da Borland. Como usuário do produto Delphi da Borland, a publicação do meu livro pode ser considerada uma comemoração disso.
Este é um livro que discute puramente a programação orientada a objetos em Delphi. Orientação a objetos não é um embelezamento da moda deste livro, mas o núcleo e a totalidade deste livro.
A partir do Capítulo 1 "Estabelecendo um Novo Pensamento Orientado a Objetos", este livro tenta começar com a história e a situação atual da programação orientada a objetos, expondo a origem, o desenvolvimento e os conceitos básicos das ideias de programação orientada a objetos, bem como a aplicação de métodos de modelagem orientados a objetos e UML. Este capítulo tem como objetivo ajudar os leitores a estabelecer os conceitos básicos da orientação a objetos e a compreender o método de pensamento orientado a objetos.
O Capítulo 2 "Modelo de Objetos Delphi" apresenta o conhecimento básico da programação orientada a objetos Delphi e seu sistema de estrutura de modelo de objetos.
O Capítulo 3 "Compreendendo os Objetos" discute o mecanismo interno, o ciclo de vida e a interação dos objetos em profundidade a partir de três aspectos: a natureza, a vida e a morte e as relações dos objetos, estabelecendo uma base para os leitores compreenderem e dominarem os objetos.
O Capítulo 4 "Usando Objetos" explica como usar objetos de forma eficiente na programação orientada a objetos Delphi. Aqui nos concentramos nos métodos e técnicas de uso de objetos de interface, objetos componentes, conjuntos de objetos e parâmetros de objetos, e conduzimos reflexões aprofundadas sobre questões comuns no uso e desenvolvimento de componentes VCL.
O Capítulo 5, “Polimorfismo Aprofundado”, introduz o conceito de polimorfismo e sua aplicação em programação. Através de um grande número de exemplos, são explicados conceitos e métodos de pensamento importantes, como sobrecarga e substituição, métodos virtuais e métodos dinâmicos, classes abstratas e métodos abstratos e conversão de tipo de classe.
O Capítulo 6 "Análise de Interfaces" apresenta de forma abrangente o conhecimento de programação e as habilidades de aplicação de interfaces de objetos. Ele explica o importante papel das interfaces na realização de ligação dinâmica e herança múltipla e demonstra o uso real de interfaces na programação orientada a objetos.
O Capítulo 7 "Pesquisa sobre Encapsulamento" esclarece a importância e os princípios de aplicação do encapsulamento na programação orientada a objetos e discute ainda mais os métodos de implementação e técnicas de aplicação do encapsulamento da perspectiva do encapsulamento lógico e do encapsulamento físico, respectivamente.
O Capítulo 8 "Realizando a Separação entre Interface e Negócios" aplica a programação orientada a objetos a um novo nível. Este capítulo explica como usar o design orientado a objetos para transformar um programa de desktop em um sistema distribuído multicamadas por meio de um exemplo evolutivo de separação entre interface e negócios. Combinado com a mais recente tecnologia da Web Delphi, ele apresenta como usar o Web Service para encapsular objetos de negócios, usar o Web Form para encapsular objetos de interface e usar novas tecnologias para encapsular objetos antigos, realizando assim aplicativos de plataforma cruzada.
Finalmente, os capítulos 9 e 10 deste livro, "Introdução aprofundada à VCL", estudam o mecanismo interno da VCL e analisam o uso de objetos de categorias importantes da VCL, fornecendo uma referência para leitores que desejam melhorar seu nível de programação em profundidade.
A julgar pela estrutura deste livro, ele pode ser dividido em cinco partes.
Parte 1, os dois primeiros capítulos do livro são uma introdução à programação orientada a objetos Delphi. Os leitores que já dominam os conceitos básicos de orientação a objetos e têm experiência em programação Delphi podem pular estes dois capítulos.
Parte 2, Capítulos 3 e 4 são a chave para a programação orientada a objetos em Delphi. Se você não compreender a essência do objeto, não poderá usá-lo bem.
A Parte 3, Capítulos 5 e 6, é uma introdução detalhada à programação orientada a objetos em Delphi. Técnicas avançadas orientadas a objetos são todas baseadas em mecanismos de ligação dinâmica, como métodos virtuais, métodos abstratos e interfaces de objetos, e mecanismos de conversão de tipo, como transformação ascendente, transformação descendente e transformação de interface.
Parte 4, Capítulos 7 e 8 são as aplicações da programação orientada a objetos Delphi. A fim de alcançar a manutenção, escalabilidade e reutilização do programa, o encapsulamento tornou-se uma das ideias importantes da programação orientada a objetos. Através do encapsulamento, a interface e os objetos de negócios são separados, e a arquitetura distribuída multicamadas é gradualmente realizada a partir da separação entre interface e negócios, e então a plataforma cruzada de interface e aplicativos de negócios é realizada. Soluções de aplicações gerais a aplicações de nível empresarial baseadas em ideias de programação orientada a objetos são demonstradas aqui.
A Parte 5, concluindo os Capítulos 9 e 10, é uma referência à programação orientada a objetos em Delphi. Familiaridade com VCL e aprendizado de VCL são muito úteis para dominar Delphi. Tendo em vista a atual falta de informações privilegiadas sobre a VCL, o que esta parte fornece aos leitores pode ser limitado, mas é raro.
Para ser mais preciso, este livro não foi escrito para "especialistas", mas para programadores que desejam mudar de RAD para OOP, e para amigos que desejam aprender OOP através do Delphi. Acho que é mais adequado como um livro técnico intermediário prático do Delphi. Portanto, na redação de todo o livro, buscamos ser de fácil compreensão, com imagens e textos, e um grande número de programas de exemplo (o código-fonte do CD-ROM que acompanha o livro ultrapassa 50 MB) são cuidadosamente escritos para leitores para estudar. Este livro se concentra no núcleo da POO, e não em todos os aspectos do Delphi. A leitura deste livro requer um certo conhecimento básico de Delphi. O livro envolve algum conhecimento especializado (como COM+, etc.) e exige que os leitores consultem livros relacionados para referência adicional.
Pode haver alguns "especialistas" que ficarão desapontados com este livro. Sinto que não sou adequado para escrever um livro para “especialistas” lerem, porque não sou um especialista, sinto que sempre serei um novato. Diferente de outros novatos, uso Delphi há mais tempo e tenho um pouco mais de experiência e experiência. Portanto, se você encontrar alguma imprecisão neste livro, por favor, corrija-me. Espero que você me perdoe por qualquer coisa insatisfatória.
O internauta xzh2000 disse bem: “A vida de um livro é muito importante. Somente se o autor puder gastar tempo revisando e complementando-o com frequência ele poderá se tornar um clássico!” É verdade que um bom livro precisa ser revisado muitas vezes antes de se tornar um clássico, por isso estou disposto a ouvir as valiosas sugestões de todos os leitores e espero que este livro possa ser continuamente revisado e reimpresso.