25
LINGUAGEM DE PROGRAMAÇÃO

Histórico de linguagens e definições (foco em classes)

Embed Size (px)

Citation preview

Page 1: Histórico de linguagens e definições (foco em classes)

LINGUAGEM DE PROGRAMAÇÃO

Page 2: Histórico de linguagens e definições (foco em classes)

Breve histórico

1842-1843

Ada Lovelace

Luigi Menabrea

Charles Babbage

Tradutor Memórias Máquina analítica

Page 3: Histórico de linguagens e definições (foco em classes)

Breve histórico

Década de 40

• Primeiros computadores elétricos• Assembly

Page 4: Histórico de linguagens e definições (foco em classes)

Breve histórico

Década de 40

• 1948, Konrad Zuse - Plankalkül

1943 – Plankalkül1943 - ENIAC coding system

1949 - C-10

Page 5: Histórico de linguagens e definições (foco em classes)

Breve histórico

Década de 50

• FORTRAN - FORmula TRANslator;• LISP - LISt Processor;• COBOL - COmmon Business Oriented Language

Page 6: Histórico de linguagens e definições (foco em classes)

Breve histórico• 1951 – Regional Assembly

Language• 1952 – Autocode

• 1954 – FORTRAN• 1955 – FLOW-MATIC• 1957 – COMTRAN

• 1958 – LISP• 1958 – ALGOL 58• 1959 – FACT

• 1959 – COBOL• 1962 – APL• 1962 – Simula• 1964 – BASIC• 1964 – PL/I

• 1970 – Pascal• 1970 – Forth

• 1972 – C• 1972 – Smalltalk• 1972 – Prolog• 1973 – ML

• 1978 – SQL

• 1983 – Ada

• 1983 – C++• 1985 – Eiffel• 1987 – Perl• 1989 – FL (Backus)

• 1990 – Haskell

• 1991 – Python• 1991 – Java• 1993 – Ruby• 1993 – Lua• 1994 – ANSI Common Lisp

• 1995 – JavaScript• 1995 – PHP• 2000 – C#• 2008 – JavaFX Script

Page 7: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Page 8: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

• Abstração• Modularização

Page 9: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

• Abstração

Faz-se uso deste conceito ao abstrair as coisas do mundo real e pegar somente o que for relevante para sua classe.

Page 10: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

• Modularização

Este é um conceito aplicado quando se trabalha em equipe.

O programador pode trabalhar em uma classe enquanto outros programadores fazem outras partes da aplicação.

Page 11: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes

• O que são?• Estrutura• Métodos• Métodos: parâmetros• Métodos: sobrecarga

• Atributos• Herança e derivação• Polimorfismo• Interfaces• Associações

Page 12: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

ClassesDescrição de um grupo de objetos por meio de um conjunto uniforme de atributos e serviços.

Uma classe é um conjunto de objetos que compartilham as mesmas operações.

Page 13: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• O que são?

É uma estrutura de dados que combina estado (campos) e comportamentos (métodos e outros membros).

Page 14: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Estrutura

constantes, campos, métodos, propriedades, indexadores, eventos, operadores, construtores, destrutores e tipos.

Page 15: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Métodos

Métodos são declarados dentro de uma classe para representar as operações que os objetos pertencentes a esta classe podem executar.

Um método é a implementação de uma rotina, ou seja, o código propriamente dito.

Page 16: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Métodos

ParâmetrosSão usados para passar valores ou variáveis por referência para os métodos.

SobrecargaPermite que métodos numa mesma classe tenham o mesmo nome mas assinaturas diferentes.

Page 17: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Atributos

Um atributo é um dado para o qual cada objeto tem seu próprio valor.Atributos são, basicamente, a estrutura de dados que vai representar a classe.

Page 18: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Herança e derivação

A herança é um relacionamento pelo qual uma classe, chamada de sub-classe, herda todos comportamentos e estados possíveis de outra classe, chamada de super-classe ou classe base.

Uma classe derivada é uma especialização da classe base.

Page 19: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Polimorfismo

A princípio a partir do qual as classes derivadas de uma única classe base são capazes de invocar os métodos que, embora apresentem a mesma assinatura, comportam-se de maneira diferente para cada uma das classes derivadas.

Page 20: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Interfaces As interfaces são padrões definidos

através de contratos ou especificações.

Page 21: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Classes• Associações

É o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar-se de uma associação simples ou de um acoplamento.

Page 22: Histórico de linguagens e definições (foco em classes)

CONCEITOSBÁSICOS

Objetos

Representa uma instância de uma classe.

Page 23: Histórico de linguagens e definições (foco em classes)

PERGUNTINHAS

Page 24: Histórico de linguagens e definições (foco em classes)

ESCREVENDO UMA CLASSE

Page 25: Histórico de linguagens e definições (foco em classes)

Exemplificando

Crie uma classe chamada Pessoa e outras duas chamadas Física e Jurídica, que herdam de

Pessoa, preencha com os atributos e métodos.