Pré-visualização parcial do texto
Baixe C# Como Programar e outras Manuais, Projetos, Pesquisas em PDF para Informática, somente na Docsity!
il NENA, : o «NET e iii esentando ga 4 y COMO PROGRAMAR e Web” Services: PEARSON “Makron E Books = INTRODUÇÃO AO .NET m ESTRUTURAS DE CONTROLE = MÉTODOS E ARRAYS = CLASSES / ABSTRAÇÃO DE DADOS = INEB SERVICES / ASP .NET m COLEÇÕES / PROPRIEDADES = BANCO DE DADOS / ADO .NET / SOL = PROGRAMAÇÃO ORIENTADA A ÚBJETOS = HERANÇA / POLIMORFISMO = TRATAMENTO DE EXCEÇÕES = IMONTAGENS / ESPAÇOS DE NOME = IDE DO VisuAL StuDio .NET = (GUI / FORMULÁRIOS DO WINDOWS m CONTROLES DE JANELA (PERSONALIZADOS) = [MANIPULAÇÃO DE EVENTOS / DELEGADOS = FORMULÁRIOS DA WEB / CONTROLES WEB = XML /XSLT" | DOM = INTRODUÇÃO A SOAP E BiZTALK”! m STRINGS / EXPRESSÕES REGULARES = MULTIMÍDIA / RECURSOS GRÁFICOS / GD + = REDES CLIENTE-SERVIDOR m ESTRUTURAS DE DADOS = ARQUIVOS E FLUXOS = MÚLTIPLAS LINHAS DE EXECUÇÃO = SOBRECARGA DE OPERADORES m [NICODE” m ACESSIBILIDADE / VOICEXNIL" = INTEGRAÇÃO AO COM = DEPURADOR DO VISUAL STUDIO .NET = (GERADOR DE DOCUMENTAÇÃO = MANIPULAÇÃO DE BITS / CARACTERES DEITEL DEITEL LISTFIELD NIETO YAEGER ZLATKINA PÁGINA EM BRANCO € 2003 by Pearson Education do Brasil Ltda €& 2002 by Prentice Hall, Inc. Tradução autorizada da edição original em inglês C4 — How to program. 1º Edition de Deitel, Harvey: Deitel, Paul; Listficld, Jefrey A.: Nieto, Tem; Yacger, Cheryl: Zlatkina, Marina. publicada pela Pearson Education , Inc, sob o selo Prentice Hall Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico. incluindo fotocópia, gravação ou qualquer outro tipo de sistema de armazenamento e trans- missão de informação. sem prévia autorização, por escrito. da Pearson Education do Brasil. Diretor Editorial: José Martins Braga Editora: Gisélia Costa Editora de Texto: Marileide Gomes Preparação: Barbara E. Benevides Arruda Revisão: Lucila Segóvia Designer de capa: Marcelo da Silva Françozo, sobre o projeto original de Ta mara L. Newnam Editoração Eletrônica: Marco Zero / Denise D' Amaro Chiara Dados Internacionais de Catalogação na Publicação (CIP) (Câmara Brasileira do Livro, SP, Brasil) Deitel, H. M. Ci — Como programar! H. M. Deitel;P.J. [ outros autores: P. J. Deitel; J. Listfield; T. R. Nieto; C. Yaeger; M. Zlatkina |]. tradução João Eduardo Nóbrega Tortello; revisão técnica Alvaro Antunes São Paulo; Pearson Education, 2003. Titulo original: Cf — How to Program ISBN: 85-346-1459-8 1. CH ( Linguagem de programação para computadores ) |. Deitel, P. J.. ll. Listfield, J.. III. Nieto, T. R.. IV. Yaeger, C.. V. Zlatkina, M.. 03-1665 CDD-005.133 Índices para catálogo sistemático: 1. CH: Linguagem de programação para computadores : computadores: Processamento de dados 005.133 Direitos exclusivos para a língua portuguesa cedidos à Pearson Education do Brasil Ltda., uma empresa do grupo Pearson Education Av. Ermano Marchetti, 1435 Cep: 05038-001 Lapa- São Paulo-SP Tel: (11)3613-1222 — Fax: (11)3611-0851 e-mail: vendas(Opearsoned.com.br A carinhosa memória de nosso tio e tio-avô David Gewanter: Estamos profundamente agradecidos por ele ter compartilhado conosco seu amor, estímulo, conhecimento, idéias e sabedoria. Harvey e Paul Deitel A meus pais: Vocês me conduziram nesses anos e fizeram de mim o que sou. Jeff À carinhosa memória de vovô Corbit. Tem R. Nieto A meus pais e irmão: Por sempre me apoiarem nos bons e maus momentos. Obrigada por tudo — nunca me esquecerei das lágrimas, dos abraços e das risadas. Cheryl Para mamãe e vovó: Que me apoiaram com seu amor, coragem e força sem fim. Obrigada por sempre estarem presentes. Marina SUMÁRIO Prefácio Capítulo 1 Introdução aos Computadores, à Internet, à Web e ao C& d 12 1.3 1.4 15 L6 17 18 1.9 1 l l l l l l l l 1 AO RE! 12 JE: Já 5 16 7 AB Ag Capítulo 2 21 22 Da 24 2.4.1 242 24.3 2.5 2.6 o o Introdução O que é um computador? Organização de computadores Evolução dos sistemas operacionais Computação pessoal, computação distribuída e computação cliente/servidor Linguagens de máquina, linguagens assembly e linguagens de alto nível C, C++, Visual Basic .NET e Java'M Ch Outras linguagens de alto nível Programação estruturada Principal tendência de software: tecnologia de objetos Tendências de hardware A história da Internet é da World Wide Web W3C XML Introdução ao Microsoft NET A plataforma .NET e o CLR Visão geral do livro Recursos da Internet e da World Wide Web Introdução ao IDE do Visual Studio NET Introdução Visão geral do IDE do Visual Studio .NET Barra de menus e barra de ferramentas Janelas do Visual Studio .NET Solution Explorer Toolbox (caixa de ferramentas) Janela Properties Usando a ajuda Programa simples: exibindo texto e uma imagem Ooo &At EE to ta — : VIII Cx — Como Programar Capítulo 3 Introdução à Programação com Cf 51 3.1 Introdução 52 3.2 Programa simples: imprimindo uma linha de texto 52 aaa Outro programa simples: somando inteiros 62 34 Conceitos de memória 65 3.5 Aritmética 66 3.6 Tomada de decisão: operadores de igualdade e relacionais 69 Capítulo 4 Estruturas de Controle: Parte 1 81 41 Introdução 82 4.2 Algoritmos 82 4.3 Pseudocódigo 82 44 Estruturas de controle 83 4.5 Estrutura de seleção 1 £ 85 4.6 Estrutura de seleção if /else 85 4.7 Estrutura de repetição while 89 4.8 Formulando algoritmos: estudo de caso | (repetição controlada por contador) 91 4.9 Formulando algoritmos com refinamento “top-down”, passo a passo: estudo de caso 2 (repetição controlada por sentinela) 93 4.10 Formulando algoritmos com refinamento “top-down”, passo a passo: estudo de caso 3 (estruturas de controle aninhadas) 98 4.11 Operadores de atribuição 102 412 Operadores de incremento e decremento 103 4.13 Introdução à programação de aplicativos Windows 105 Capítulo 5 Estruturas de Controle: Parte 2 n9 á.l Introdução 120 aba Fundamentos da repetição controlada por contador 120 5.3 Estrutura de repetição for 122 5.4 Exemplos usando a estrutura for 125 5 Estrutura de seleção múltipla switch 129 5.6 Estrutura de repetição do/while 133 57 Instruções break e continue 135 5.8 Operadores lógicos é condicionais 1397 5.9 Resumo da programação estruturada 142 Capítulo é Métodos 153 6.1 Introdução 154 6.2 Módulos de programa em CH 154 6.3 Métodos da classe Math 155 6.4 Métodos 157 6.5 Definições de métodos 157 6.6 Promoção de argumentos 166 6.7 Espaços de nomes do CH 168 6.8 Tipos de valor e tipos de referência 168 6.9 Passagem de argumentos: passagem por valor versus passagem por referência 169 6.10 Geração de números aleatórios 172 6.11 Exemplo: jogo de azar 178 6.12 Duração das variáveis 182 6.13 Regras de escopo 183 6.14 Recursividade 185 6.15 Exemplo usando recursividade: a série de Fibonacci 188 6.16 Recursividade verstes iteração 190 6.17 Sobrecarga de métodos 191 Capítulo 7 Arrays 203 71 Introdução 204 Cx — Como Programar Capítulo 11 ll 11,2 11.3 11.4 11,5 11.6 11.7 11,8 Capítulo 12 12.1 12.2 12,3 12.3.1 12.4 12.5 12.6 12.7 12.8 12.9 IZão Capítulo 13 131 13.2 13,3 13.4 134.1 134,2 13.5 13.6 13.7 13.8 13.9 13.10 13.11 Capítulo 14 14,1 14,2 14,3 14.4 14,5 14.6 14.7 Capítulo 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 15.10 Tratamento de Exceções Introdução Visão geral do tratamento de exceções Exemplo: DivideByZeroException Hierarquia de exceções do NET O bloco finally Propriedades de Exception Classes de exceção definidas pelo programador Tratando estouros com os operadores checked e unchecked Conceitos de Interface com o Usuário Grá ca: Parte 1 Introdução Formulários Windows Modelo de manipulação de eventos Manipulação de eventos básica Propriedades de controle e layout Label, TextBox c Button GroupBox é Panel CheckBox c RadioButton PictureBox Manipulação de eventos de mouse Manipulação de eventos de teclado Conceitos de Interface com o Usuário Grá ca: Parte 2 Introdução Menus LinkLabels ListBoxes c CheckedListBoxes ListBoxes CheckedListBoxes ComboBoxes TreeViews ListViews Controle com guias Janelas MDI Herança visual Controles definidos pelo usuário Múltiplas Linhas de Execução (Multithreading) Introdução Estados de linha de execução: ciclo de vida de uma linha de execução Prioridades e programação de linhas de execução Sincronização de linhas de execução e a classe Monitor Relacionamento produtor/consumidor sem sincronização de linhas de execução Relacionamento produtor/consumidor com sincronização de linhas de execução Relacionamento produtor/consumidor: buffer circular Strings, Caracteres e Expressões Regulares Introdução Fundamentos dos caracteres e strings Construtores de Strings Indexador, propriedade Length e método Copy'To de String Comparando strings Método GetHashCode de String Localizando caracteres e substrings em strings Extraindo substrings de strings Concatenando strings Métodos de String diversos 375 376 376 379 383 384 391 395 398 405 406 406 409 410 414 419 422 425 432 434 436 445 4d 446 454 457 459 46] 463 467 472 478 483 490 494 505 506 507 508 512 514 520 527 541 542 542 543 544 546 549 550 553 554 554 Sumário 15.11 Classe StringBuilder 557 15.12 Indexador, propriedades Length c Capacity e método EnsureCapacity de StringBuilder 558 15.13 Métodos Appende AppendFormat de StringBuilder 560 15.14 | Métodos Insert, Remove e Replace de StringBuilder 563 15.15 Métodos de Char 566 15.16 Simulação de embaralhamento e distribuição de cartas 568 15.17 | Expressões regulares e classe Regex 572 Capítulo 16 Elementos Grá cos e Multimídia 587 16.1 Introdução 588 16.2 Contextos gráficos e objetos gráficos 590 16.3 Controle de cores 591 164 Controle de fontes 597 16.5 Desenhando linhas, retângulos e elipses 602 16.6 Desenhando arcos 605 16.7 Desenhando polígonos e linhas poligonais 607 16.8 Recursos gráficos avançados 611 16.9 Introdução à multimídia 616 16.10 Carregando, exibindo e mudando a escala de imagens 616 l6.11 Animando uma série de imagens 618 16.12 Windows Media Player 629 16.13 Microsoft Agent 631 Capítulo 17 Arquivos e Fluxos 649 17.1 Introdução 650 17.2 Hierarquia de dados 650 17.3 Arquivos & fluxos 652 17.4 Classes File é Directory 653 17.5 Criando um arquivo de acesso seguencial 661 17.6 Lendo dados de um arquivo de acesso seguencial 672 17.7 Arquivos de acesso aleatório 683 17.8 Criando um arquivo de acesso aleatório 686 17.9 Gravando dados aleatoriamente em um arquivo de acesso aleatório 690 I7.10 | Lendo dados seguencialmente de um arquivo de acesso aleatório 694 17,11 Estudo de caso: um programa de processamento de transações 699 Capítulo 18 XML (Extensible Markup Language) 723 18.1 Introdução na 18.2 Documentos XML 724 18.3 Espaços de nomes do XML 728 18.4 DOM (Document Object Model) 731 18.5 DTDs (Document Type Definitions). esquemas e validação 745 18.51. DTDs 746 18.5.2 Microsofi XML Schema 750 18.53 WaC XML Schema 751 18.5.4 Validação de esquema em CH 753 18.6 XSL e XslTransform 756 18.7 Microsoft BizTalk"M 762 18.8 Recursos da Internet e da World Wide Web 765 Capítulo 19 Bancos de Dados, SQL e ADO .NET 773 19.1 Introdução TIA 19.2 Modelo de bancos de dados relacionais 774 19.3 Visão geral de bancos de dados relacionais: banco de dados Books 715 19.4 SQL 780 194.1 Consulta SELECT básica 780 19,42 Cláusula WHERE 781 Sumário XII 231 Classes de coleção 1019 23.7.1 Classe Array 1019 23.7.2 Classe ArrayList 1021 23.73 Classe Stack 1027 23.74 Classe Hashtable 1030 Capítulo 24 Acessibilidade 1043 24.1 Introdução 1044 24.2 Legislação e recursos 1044 24.3 Web Accessibility Initiative 1046 24.4 Alternativas para imagens 1046 24.5 Maximização da legibilidade focalizando a estrutura 1047 24.6 Acessibilidade no Visual Studio .NET 1048 24.6.1 | Ampliação dos ícones da barra de ferramentas 1048 24.6.2 Ampliação do texto 1048 24.6.3 Modificação da Toolbox 1048 24.6.4 Modificação do teclado 1050 24.6.5 Reorganização das janelas 1052 24.9 Acessibilidade no CH 1052 24.8 Acessibilidade em tabelas XHTML 1058 24.9 Acessibilidade em frames XHTML 1062 24.10 | Acessibilidade em XML 1062 2411 Usando síntese e reconhecimento de voz com o VoiceXMLIM 1063 24.12 CalXMLM 1069 24,13 JAWSO for Windows 1074 24.14 Outras ferramentas de acessibilidade 1074 24.15 | Acessibilidade no Microsoft Windows6) 2000/XP 1075 24.15.1 Ferramentas para pessoas portadoras de deficiência visual 1077 24.15.22 Ferramentas para pessoas portadoras de deficiência auditiva 1078 24.15.3 Ferramentas para usuários que têm dificuldade de usar o teclado 1078 24.15.4 Microsoft Narrator 1083 24.15.5 Teclado virtual da Microsoft 1085 24.15.6 Recursos de acessibilidade no Microsoft Internet Explorer 6 1086 24.16 Recursos da Internet e da World Wide Web 1087 Apêndice À Tabela de Precedência de Operadores 1097 Apêndice B Sistemas de Numeração (no CD) B-1 B.1 Introdução B-2 B.2 Abreviação dos números binários como números octais c hexadecimais B-4 B.3 Conversão dos números octais € hexadecimais em números binários B-5 B4 Conversão de binário, octal ou hexadecimal para decimal B-5 B.5 Conversão de decimal em binário, octal ou hexadecimal B-6 B.6 Números binários negativos: notação de complemento de dois B-7 Apêndice C Oportunidades de Emprego (no CD) c-12 Cl Introdução C-13 Co Recursos para quem procura emprego C-14 C3 Oportunidades on-line para os empregadores C-15 c4 Serviços de recrutamento C-i8 C.5 Sites de empregos €-19 C.6 Recursos na Internet e na World Wide Web C-22 Apêndice D Depurador do Visual Studio .NET no01 D.l Introdução 1102 D.2 Pontos de parada 1103 XIV CH — Como Programar D.3 Examinando dados 1106 D.4 Controle do programa 1108 D.5 Mais recursos de depuração de métodos 109 D.6 Mais recursos de depuração de classes 113 Apêndice E Geração de documentação no Visual Studio (no CD) E-30 El Introdução E-31 E2 Comentários da documentação E-31 E3 Documentando o código-fonte do CH E-32 E4 Criando páginas Web de comentários E-38 E.5 Criando arquivos de documentação em XML E-40 Apêndice F Conjunto de Caracteres ASCII n19 Apêndice G UnicodeO (no CD) G-47 Gl introdução G-48 G.2 Formatos de transformação do Unicode G-48 G.3 Caracteres e glifos G-49 G.4 Vantagens e desvantagens do Unicode S-50 G.5 Site Web do Unicode Consortium G-50 G.6 Usando o Unicode G-51 G.7 Intervalos de caracteres G-54 Apêndice H Integração COM (no CD) H-58 Hi Introdução H-58 H2 Integração com o ActiveX H-59 H3 Integração com a DLL H-62 H4 Recursos da Internet e da World Wide Web H-66 Apêndice | Introdução ao HyperText Markup Language 4: Parte 1 (no CD) 1-69 L] Introdução 1-70 12 As linguagens de marcação 70 1.3 Editando HTML 70 4 Elementos comuns [-71 15 Cabeçalhos 1-73 L6 Links 74 [7 Imagens 176 1.8 Caracteres especiais e mais quebras de linha 1.79 19 Listas não-ordenadas E-8l LIO Listas aninhadas e ordenadas 1-83 Lil Recursos da Internet e World Wide Web 85 Apêndice J Introdução ao HyperText Markup Language 4: Parte 2 (no CD) J-89 1.1 Introdução 31-90 J.2 Tabelas HTML básicas 31-90 13 Tabelas e formatação da HTML intermediária J-92 J.4 Formulários HTML básicos J-95 J.5 Formulários HTML mais complexos J-97 1.6 Vinculação intérna J-103 17 Criando e usando os mapas de imagem J-105 J.8 Tags J-107 1.9 Elemento frameset J-109 Jo fraseastes aninhados J-111 J.11 Recursos da Internet e da World Wide Web J-113 Apêndice K Introdução co XHTML: Parte 1 (no CD) k-118 Kl Introdução K-L19 PÁGINA EM BRANCO ILUSTRAÇÕES Capítulo 1 Introdução aos Computadores, à Internet, à Web e ao Cé 11 Linguagens .NET. Capítulo 2 Introdução ao IDE do Visual Studio .NET 2.1 2.2 2.3 2.4 25 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 219 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 Start Page no Visual Studio .NET. Caixa de diálogo New Project. O ambiente do Visual Studio .NET após um novo projeto ser criado. Barra de menus do Visual Studio .NET. Resumo dos menus do Visual Studio .NET. Barra de ferramentas do Visual Studio .NET. Demonstração de dica de tela. Ícones da barra de ferramentas para várias janelas do Visual Studio .NET. Janela Solution Explorer. Janela Toolbox. Demonstrando o ocultamento automático de janela. Janela Properties. Janela Dynamic Help. Programa simples ao ser executado. Criando um novo aplicativo Windows. Configurando a localização do projeto. Configurando a propriedade Text do formulário. Formulário com alças de redimensionamento. Mudando a propriedade BackColor. Adicionando um novo rótulo no formulário. Rótulo em posição, com sua propriedade Text configurada. A janela Properties exibindo as propriedades do rótulo. A janela Fonte padrão do Windows para selecionar fontes, estilos € tamanhos. Centralizando 9 texto no rótulo. Inserindo e alinhando a caixa de figura. Propriedade Image da caixa de figura. Selecionando uma imagem para a caixa de figura. A caixa de figura após a imagem ter sido inserida. IDE no modo de execução, com o aplicativo sendo executado em primeiro plano. 15 29 30 30 31 31 32 32 33 33 34 34 35 36 37 38 38 39 39 40 40 4 41 4] 42 42 43 43 44 44 llustrações XIX 5.6 5.7 58 5.9 5.10 511 5.12 5.13 5.14 5.16 5.17 5.18 5.19 5.20 5.21 5.22 5.23 5.24 5.25 5.26 5.27 5.28 Ícones de caixas de diálogo de mensagem. Botões para caixas de diálogo de mensagens. Calculando juros compostos com for. Códigos de formatação de string. Estrutura de seleção múltipla switch. Fluxograma da estrutura de seleção múltipla switch. Estrutura de repetição do/while. Fluxograma da estrutura de repetição do /while. Instrução break em uma estrutura for. Tabela verdade do operador && (E condicional). Tabela verdade do operador | | (OU condicional). Tabela verdade do operador OU exclusivo lógico (*). Tabela verdade do operador ! (NÃO lógico). Operadores condicionais e lógicos. Precedência e associatividade entre os operadores discutidas até aqui. Estruturas de segiiência de uma entrada/uma saída, repetição e seleção do CH. Regras para formar programas estruturados. Fluxograma mais simples. Aplicação repetida da regra 2 da 5.23 no Auxograma mais simples. Aplicação da regra 3 da 5.23 no fluxograma mais simples. Blocos de construção empilhados, aninhados e sobrepostos. Fluxograma não estruturado. Capítulo 6 Métodos 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 Relacionamento hierárquico do método chefe/método funcionário. Métodos da classe Math comumente usados. Usando o método Square definido pelo programador. Método Maximum definido pelo programador. Conversões implícitas permitidas. Espaços de nomes da Framework Class Library. Tipos de dados internos do Ch. Demonstrando os parâmetros ref e out. Inteiros aleatórios no intervalo de 1 a 6. Lançamento de dados em um aplicativo Windows. Simulando o lançamento de 12 dados de seis lados. Programa para simular o jogo de craps. Escopo. Avaliação recursiva de 5!. Calculando fatoriais com um método recursivo. Gerando números de Fibonacci recursivamente. Conjunto de chamadas recursivas para o método Fibonacci. Usando métodos sobrecarregados. Erro de sintaxe gerado a partir de métodos sobrecarregados com listas de parâmetro idênticas e tipos de retorno diferentes. As Torres de Hanói para o caso de quatro discos. Capítulo 7 Arrays 7d 7.2 7.3 7.4 7.5 76 71 7.8 79 710 Um array de 12 elementos. Precedência e associatividade dos operadores discutidos até aqui. Inicializando arrays de elemento de três maneiras diferentes. Calculando a soma dos elementos de um array. Programa que imprime histogramas. Usando arrays para eliminar uma estrutura switch. Programa simples de análise de pesquisa de aluno. Passando arrays e elementos de array individuais a métodos, Passando uma referência de array por valor e por referência. Ordenando um array com ordenação “bolha”. 126 127 128 129 130 132 133 134 135 137 138 139 139 139 41 143 144 144 ld4 145 145 145 155 156 157 161 167 168 169 170 173 174 176 179 183 186 187 188 190 191 193 201 205 206 207 208 209 211 213 215 218 221 XX Cx — Como Programar 71 7.12 7.13 74 715 7.16 Capítulo 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.1 8.12 8.13 8.14 8.15 8.16 8.17 8.18 8.19 8.20 8.21 Capítulo 9 9.1 9,2 9,3 9.4 9,5 9,6 927 9,8 9.9 9.10 9,11 9.12 9.13 9,14 9.15 9.16 9.17 9.18 9,19 Capítulo 10 10,1 10,2 10.3 10.4 Pesquisa linear de um array. Pesquisa binária de um array ordenado, Array bidimensional com três linhas e quatro colunas. Inicializando arrays multidimensionais. Exemplo usando arrays bidimensionais. Usando foreach com um array. Programação Baseada em Objetos O tipo de dados abstrato Time1 representa a hora no formato de 24 horas. Usando um tipo de dados abstrato. Acessar membros de classe private a partir de código cliente gera erros de sintaxe. Os construtores sobrecarregados fornecem opções de inicialização de objeto flexíveis. Demonstração de construtor sobrecarregado. As propriedades fornecem acesso controlado aos dados de um objeto. Demonstração de propriedades da classe Time3. A classe Date encapsula informações de dia, mês e ano. A classe Employ ee encapsula o nome, a data do nascimento e a data de contratação do funcionário. Demonstração de composição. Referência this usada implícita e explicitamente para permitir que um objeto manipule seus próprios dados e chame seus próprios métodos. Demonstração da referência this. Os membros static são acessíveis para todos os objetos de uma classe. Demonstração de membro static. Demonstração de membro de classe const e readonly. Os indexadores fornecem acesso por meio de índices aos membros de um objeto. O assembly TimeLibrary contém a classe Time3. Biblioteca de classes simples. Assembly TimeLibrary usado a partir da classe AssemblyTest. O recurso Class View da classe Timel (8.1) e da classe TimeTest1 (8.2). O Object Browser quando o usuário seleciona Object de Timel.cs. Programação Orientada a Objetos: Herança Exemplos de herança. Hierarquia de herança para MembroDaComunidade de uma universidade. Parte de uma hierarquia de classes FormaGeometrica. A classe Point representa um par de coordenadas x, y. A classe PointTest demonstra a funcionalidade da classe Point. A classe Circle contém um par de coordenadas x, y e um raio. CircleTest demonstra a funcionalidade da classe Circle. A classe Circle2 que herda da classe Point. A classe Point 2 representa um par de coordenadas x, y como dados protected. A classe Circle3 que herda da classe Point 2. CircleTest3 demonstra a funcionalidade da classe Circle3. A classe Point 3 usa propriedades para manipular seus dados private. A classe Circle4 que herda da classe Point 3, a qual não fornece dados protected. CircleTest4 demonstra a funcionalidade da classe Circle4. A classe Cylinder herda da classe Circle4 e sobrepõe o método Area. Testando a classe Cylinder. A classe base Point 4 contém construtores e finalizador. A classe Circles5 herda da classe Point 4 e sobrepõe um método finalizador. Ordem em que os construtores e destrutores são chamados. Programação Orientada a Objetos: Polimor smo A classe Point representa um par de coordenadas x, y. A classe Circle que herda da classe Point. Atribuindo referências à classe derivada para referências à classe base. Classe base abstrata Shape. 223 225 228 229 231 234 243 247 250 252 254 256 258 262 263 264 265 266 268 270 272 274 281 284 285 286 286 295 296 297 298 300 301 303 304 306 307 308 310 311 313 315 317 319 320 322 329 330 331 337