Apostila Elementos de Programação
61 pág.

Apostila Elementos de Programação


DisciplinaElementos de Programação de Computadores5 materiais54 seguidores
Pré-visualização11 páginas
como uma coleção de objetos interdependentes, ao invés 
de procedimentos e funções, cujos objetos se comunicam por mensagens. Cada um 
dos objetos é uma derivação de uma classe e todas as classes formam uma 
hierarquia no sistema. Uma classe é apenas um modelo de objeto. 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
33 
 O objetivo principal dessa nova abordagem, no desenvolvimento de sistemas, 
está na busca de uma forma mais clara para interpretar problemas, abstraindo-lhe a 
solução. 
Veja que todo problema submetido à construção de um sistema envolve uma 
série de elementos, por exemplo: equipamentos, veículos e notas fiscais. Esses 
elementos podem ser representados como objetos cujos atributos podem ser: cor do 
equipamento, tamanho do veículo e data de emissão da nota fiscal. Desta forma, as 
rotinas serão representadas e implementadas através de classes, ao invés de 
desenvolver um procedimento para cada uma. 
 Para facilitar ainda esta explicação, vamos considerar o exemplo de registro 
utilizado na aula passada. O registro de clientes possui uma série de campos, e 
podemos ter um conjunto de registros de clientes armazenados. Usando a OOP, o 
registro Clientes seria uma Classe, um cliente seria um Objeto e os campos do 
registro seriam os Atributos da classe. 
 
2 O DESAFIO DA OOP 
 
 Como você pôde perceber, há uma nova forma de trabalhar com a 
programação de sistemas usando o método de orientação a objetos. Na verdade, 
hoje, a adoção desse método ainda está longe do que poderia ser aplicado na 
programação de computadores. 
 Vários dificultadores acabaram criando certa resistência na adoção da OOP. 
Vamos conhecer alguns deles nesta seção. 
 A programação de computadores ainda é tratada como algo que é de difícil 
entendimento e de grande complexidade, o método de programação estruturada 
acabou sendo absorvido ao longo dos anos de estudo e construção de programas, 
por parte dos programadores. Isso acabou criando uma grande geração de 
profissionais que nasceram e cresceram \u201cpensando de forma estruturada\u201d para 
resolver os problemas submetidos à programação. Quando a OOP tomou força, com 
o advento de linguagens populares que suportavam o método, houve um movimento 
de mudança para os programadores e uma decisão a ser tomada: mudar a maneira 
de interpretar os problemas e a maneira como as soluções eram construídas.
 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
34 
 Atualmente, com o advento de linguagens de programação de alto nível, que 
facilitam a vida do programador na absorção dos conceitos da OOP, o método 
acabou recebendo um número cada vez maior de adeptos. A linguagem Java pode 
ser considerada como a precursora desse movimento, trazendo um amplo conjunto 
de benefícios e totalmente construída usando o método de programação orientada a 
objetos. 
 Diante desse cenário, podemos resumir os seguintes desafios para 
aprendermos OOP: 
1. Exige uma forma diferente de como interpretamos os problemas; 
2. Exige que a construção dos programas tenha definição também diferente do 
modelo de programação estruturada; 
3. Fornece nova forma para apresentar solução ao usuário, exigindo maior nível 
de abstração; 
4. Novos conceitos e formas de construção de programas, com o objetivo de 
explorar o potencial do método OOP, exigem uma forma diferente de pensar 
do programador; 
5. Alguns preconceitos foram criados contra a OOP como: o esforço necessário 
para a construção de sistemas, a construção de recursos mais amigáveis ao 
usuário são trabalhosos demais e algumas promessas do método que 
acabam na prática exigindo do programador esforços parecidos como havia 
na programação estruturada. 
Hoje, o sentimento é de que realmente há preconceitos; antes, o que havia 
era uma grande falta de domínio sobre a oferta do método e a forma como ele 
deveria ser utilizado. 
 
3 A HISTÓRIA DA OOP 
 
 A origem da OOP remonta a 1966, quando os escandinavos Ole-Johan Dahl e 
Kristen Nygaard criaram a linguagem Simula para a construção de modelos de 
simulação. Para obter uma visão histórica desse momento, acesse o site: 
http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
35 
 Essa linguagem influenciou a criação do Smalltalk na Xerox, em Palo Alto, 
Califórnia, nos anos setenta, o que podemos observar em detalhes no seguinte 
endereço na internet: 
http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_TOC.html 
 Posteriormente, a Simula influenciou outras linguagens, ora construídas com 
base nos conceitos originais, como o Eiffel, ou inspiradas na sintaxe de outras já 
existentes, como é o caso do C++, Java, Object Pascal, Delphi e Ada95. 
 
4 TERMINOLOGIA 
 
4.1 ABSTRAÇÃO DE DADOS 
 
 Um recurso que recebeu destaque na OOP chama-se \u201cprogramação com tipos 
de dados abstratos\u201d cujos tipos fornecem a implementação dos conceitos da OOP, 
chamados encapsulamento e modularidade. 
 Como vimos anteriormente, os tipos de dados são utilizados como uma 
operação comum na programação de computadores. Na declaração de uma 
variável, definimos o tipo de dados para armazenamento, delimitando, dessa forma, 
o conjunto de valores que podem ser armazenados. 
 As linguagens de programação oferecem um conjunto de tipos de dados 
básicos e pré-definidos (também chamados de tipos primitivos), mas algumas 
linguagens oferecem a construção de tipos específicos e complexos, são as 
variáveis compostas heterogêneas que vimos na segunda aula do módulo. Esse tipo 
de dado complexo abstrai os dados armazenados na variável. 
 Na OOP cria-se um novo tipo de dado chamado objeto, que pode conter, além 
de atributos específicos, dados e procedimentos embutidos. Nesse tipo de dado, o 
programador se preocupa apenas em saber como utilizar os recursos disponíveis 
pelo objeto, sem a necessidade de saber como o objeto foi construído e como 
funciona os procedimentos internos. 
 Com essa abordagem, conseguimos obter uma verdadeira \u201cabstração de 
dados\u201d, ou seja, o usuário conhece apenas o necessário para seu uso, sem precisar 
conhecer detalhes complexos do objeto. 
 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
36 
4.2 ENCAPSULAMENTO 
 
 A abordagem de programação usando tipos de dados abstratos inclui o 
conceito de encapsulamento que, basicamente, \u201cesconde e protege\u201d as 
informações contidas no objeto. O encapsulamento consiste em ocultarmos ao 
usuário o funcionamento interno de uma classe. 
 
4.3 OBJETOS 
 
 Os objetos são reconhecidos como uma entidade autônoma que combina a 
representação da informação (estruturas de dados) e meios de sua manipulação 
(procedimentos), uma vez que possuem capacidade de processamento e 
armazenam um estado local, usando variáveis encapsuladas no objeto. 
 Um objeto é composto de: 
\u2022 Propriedades: são as informações, estruturas de dados que representam 
o estado interno do objeto; 
\u2022 Comportamentos: também conhecidos como métodos, que agem sobre 
as propriedades. Os métodos são acionados quando o objeto recebe uma 
mensagem solicitando sua execução; 
\u2022 Identidade: é uma propriedade que diferencia um objeto do outro; ou seja, 
o seu nome. 
 
4.4 MENSAGENS 
 
 Um objeto sozinho não é muito útil e geralmente aparece como componente de 
um grande programa que contém muitos outros objetos. Pela interação desses 
objetos, pode-se obter uma grande funcionalidade e comportamentos mais 
complexos. Objetos de software interagem e comunicam-se com os outros por 
mensagens, formadas por três componentes básicos: 
\u2022 o objeto a quem a mensagem é endereçada (receptor); 
\u2022 o nome do método que se deseja executar; 
\u2022 os parâmetros (se existirem) necessários
Tiago
Tiago fez um comentário
Três livros de formatos regulares, cada um com peso W e comprimento a são empilhados como mostrado na figura. Determine a máxima distância d que o livro de cima pode se deslocar em relação ao livro de baixo de modo que a pilha não desmorone:
0 aprovações
Carregar mais