Frases de Ivar Jacobson

0   0

Ivar Jacobson

Data de nascimento: 2. Setembro 1939

Publicidade

Ivar Hjalmar Jacobson é um cientista da computação sueco.

Concluiu seu mestrado em engenharia eletrônica no Chalmers Institute of Technology de Gotemburgo em 1962 e um Ph.D. no Royal Institute of Technology de Estocolmo em 1985.

Polimorfismo

Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, um mesmo método pode apresentar várias formas, de acordo com seu contexto. O polimorfismo é importante pois permite que a semântica de uma interface seja efetivamente separada da implementação que a representa. O termo polimorfismo é originário do grego e significa 'muitas formas' .

Associação

Uma associação é um vínculo que permite que objetos de uma ou mais classes se relacionem. Através destes vínculos é possível que um objeto convoque comportamentos e estados de outros objetos.

Exemplo de associação unária em UML

As associações podem ser:

• unárias - quando a associação ocorre entre objetos de uma mesma classe.

• binárias - quando a associação ocorre entre dois objetos de classes distintas.

• múltiplas - quando a associação ocorre entre mais de dois objetos de classes distintas.

Cada associação possui características de:

• cardinalidade ou multiplicidade - determina quantos objetos no sistema são possíveis em cada vértice da associação.

• navegação - se é possível para cada objeto acessar outro objeto da mesma associação.

No exemplo de associação unária acima, cada pessoa tem um único pai e qualquer número de filhos . De acordo com a seta de navegação, só é possível navegar para o pai de cada pessoa. Desta forma cada objeto da classe Pessoa consegue acessar seu objeto pai, mas não consegue acessar seus objetos filhos.

Agregação

Tipo de relacionamento com características todo-parte, onde existe um grau de acoplamento entre o todo e as partes menos intenso, podendo haver certo grau de independência entre eles.

Composição

Tipo de relacionamento com características todo-parte, onde existe um alto grau de coesão entre o todo e as partes, com total grau de dependência entre eles . Desta forma, se o todo não existir, as partes também não existirão.

Um exemplo de composição é a mão:

Uma mão é composta por dedos. Os dedos compõem a mão.

Não há lógica em existir um dedo sem mão, porém pode-se ter uma mão sem um ou mais dedos

Classes abtrastas e concretas

Uma classe abstrata é desenvolvida para representar entidades e conceitos abstratos. A classe abstrata é sempre uma superclasse que não possui instâncias. Ela define um modelo para uma funcionalidade e fornece uma implementação incompleta - a parte genérica dessa funcionalidade - que é compartilhada por um grupo de classes derivadas. Cada uma das classes derivadas completa a funcionalidade da classe abstrata adicionando um comportamento específico.

Uma classe abstrata normalmente possui métodos abstratos. Esses métodos são implementados nas suas classes derivadas concretas com o objetivo de definir o comportamento específico. O método abstrato define apenas a assinatura do método e, portanto, não contém código.

Por outro lado, as classes concretas implementam todos os seus métodos e permitem a criação de instâncias. Uma classe concreta não possui métodos abstratos e, geralmente, quando utilizadas neste contexto, são classes derivadas de uma classe abstrata.

TITLE COMPONENTE

Componentes de Software é o termo utilizado para descrever o elemento de software que encapsula uma série de funcionalidades. Um componente é uma unidade independente, que pode ser utilizado com outros componentes para formar um sistema mais complexo.

A OMG define componente como "uma parte modular, possível de ser implantada e substituível de um sistema que encapsula implementação e expõe um conjunto de interfaces".

Em programação orientada a objetos um componente é a classe que implementa uma interface e é autônomo em relação a outros componentes do sistema.

Um sistema de software pode ser formado inteiramente somente por componentes, pois estes se interligam através de suas interfaces. Este processo de comunicação entre componentes é denominado composição.

PS: um objeto não implementa uma interface; um objeto é a instância de uma classe que implementa uma interface

TITLE INTERFACE

Em algumas linguagens de programação, o termo interface é uma referência à característica que permite a construção de interfaces que isolam do mundo exterior os detalhes de implementação de um componente de software.

Um exemplo clássico de utilização de interfaces é o do sistema operacional que, através de uma interface de programação de aplicativos, permite que os programas utilizem os recursos do sistema sem que os seus detalhes de implementação sejam conhecidos do programador. Este esquema isola e protege o sistema operacional de eventuais erros cometidos pela aplicação.

Os componentes de software utilizam interfaces padronizadas para criar uma camada de abstração que facilite a reutilização e a manutenção do software.[3] Neste cenário, a interface de um módulo de software deve ser mantida em separado da sua implementação e qualquer outro módulo , que interaja com , deve ser forçado a fazê-lo apenas através da interface. Este mecanismo permite que no caso de uma alteração em , o módulo continue funcionando; desde que a utilização do módulo pelo módulo satisfaça as especificações da interface. .

Uma interface disponibiliza tipos variados de acesso entre componentes, como por exemplo: constantes, tipos de dado, procedimentos, especificação de exceções e assinaturas de métodos. Em alguns casos é mais apropriado definir as variáveis como parte das interfaces. As interfaces também especificam a funcionalidade disponibilizada através de comentários ou através de declarações lógicas formais .[4]

Citações Ivar Jacobson

Publicidade

„People regard their environment in terms of objects. Therefore it is simple to think in the same way when it comes to designing a model.“

—  Ivar Jacobson
p. 42; cited in: Sten Carlsson and Benneth Christiansson. (1999) " The Concept of Object and its Relation to Human Thinking: Some Misunderstandings Concerning the Connection between Object-Orientation and Human Thinking http://www.vits.org/publikationer/dokument/289.pdf." Informatica, Lith. Acad. Sci. 10.2. p. 147-160.

Aniversários de hoje
Malcolm X photo
Malcolm X11
1925 - 1965
Pol Pot photo
Pol Pot7
1925 - 1998
José Martí photo
José Martí14
1853 - 1895
Nathaniel Hawthorne photo
Nathaniel Hawthorne3
1804 - 1864
Outros 57 aniversários hoje
Autores parecidos
Karl Marx photo
Karl Marx74
filósofo, economista e sociólogo alemão