Programação Orientada a Objetos
OOP
IFES – Campus Vitória
Engenharia Elétrica
2015-2
Sobre a disciplina
• Carga horária : 60 horas (30 teóricas e 30 práticas)
• Material do curso estará disponibilizado em
ftp://ftp.ifes.edu.br/Cursos/EngenhariaEletrica/Danilo/ELE-OOP/
• Livro guia: Head First C#, 3rd Edition
– Disponível em http://it-ebooks.info/book/2885/
• Livros de suporte:
– C# in Depth, 3rd Edition (http://it-ebooks.info/book/3794/)
– Microsoft Visual C# 2013 Step by Step (http://it-ebooks.info/book/3010/)
• Também disponível em português : I.S.B.N. 9788582602096
– C# in Depth, 3rd Edition (http://it-ebooks.info/book/3010/)
• E-mail:
danilo@ifes.edu.br
Conteúdo da disciplina
• Introdução a programação orientada a objetos (OOP)
• Introdução a linguagem de programação C# (C-Sharp)
• Introdução ao ambiente de desenvolvimento integrado
do Microsoft Visual Studio 2015
• Elementos básicos da linguagem C#
• Tipos de dados, variáveis, comando de atribuição, conversão
de tipos, expressões, operadores aritméticos, lógicos e de
bit-a-bit (bitwise)
• Ponto de entrada de um programa
• Comandos condicionais
Conteúdo da disciplina
• Programação orientada a objetos em C# (básica)
– Namespaces – Classes
– Objetos (instâncias, variáveis de referência e garbage-collector) – Campos
– Métodos – Propriedades
Conteúdo da disciplina
• Programação orientada a objetos em C# (intermediária)
– Encapsulamento – Níveis de proteção
– Construtores (constructors)
– Herança, subclasses e superclasses
– Sobrescrita de métodos (method override) – Interfaces
Herança de interfaces
Verificação de pertinência Upcasting e downcasting – Modificadores de acesso
– Classes abstratas e métodos abstratos – Poliformismo
Conteúdo da disciplina
• Programação orientada a objetos em C# (intermediária)
– Coleções genéricas
Enumerações (enums)
Coleções genéricas do tipo List
Manipulação de listas, loops foreach, comparação e ordenação Overload de métodos
Interface IEnumerable
Coleções do tipo dicionário (Dictionary) Coleções do tipo Stack e Queue
– Streaming (classe Stream e subclasses)
Entrada/Saída em arquivos (classes StreamWriter e StreamReader) Manipulação de arquivos e diretórios
Uso do comando using Serialização de objetos
Conteúdo da disciplina
• Programação orientada a objetos em C# (avançada)
– Construção aplicativos para Windows 8.1 (Windows Store Apps) Uso do XAML (Extensible Application Markup Language) Data binding
Static resources Data templates
Operador Await e modificador Async Classe FileIO
Data contract
– Tratamento de exceções (erros) – LINQ (Language Integrated Query) – Programação orientada a eventos
Orientação a objetos - História
• Tem sua origem nos anos 60 na Noruega, com Kristen Nygaard e Ole-Johan Dahl, no Centro Norueguês de Computação. Através da linguagem Simula 67, foram introduzidos os conceitos de classe e herança
• O termo Programação Orientada a Objetos foi criado por Alan Kay, autor da linguagem de programação Smalltalk, nos laboratórios da Xerox
• Alan Kay pensou em como construir um sistema de software a partir de agentes autônomos que interagissem entre si, estabelecendo os seguintes princípios da orientação a objetos:
– Qualquer coisa é um objeto.
– Objetos realizam tarefas através da requisição de serviços. – Cada objeto pertence a uma determinada classe.
– Uma classe agrupa objetos similares.
– Um classe possui comportamentos associados ao objeto. – Classes são organizadas em hierarquias.
Orientação a objetos - Conceitos
• Orientação a objetos : modelo de análise, projeto e
programação baseado na composição e interação entre diversas
unidades de software chamadas de objetos
• Objetiva reduzir "gap semântico“, ou aproximar o mundo real
do mundo virtual
• Implementa um conjunto de classes que definem os objetos
presentes no sistema de software
• Cada classe determina o comportamento (definido nos
métodos) e estados possíveis (atributos) de seus objetos, assim
como o relacionamento com outros objetos
• Linguagens: C++, C♯, VB.NET, Java, Object Pascal, Objective-C,
Python, SuperCollider, Ruby e Smalltalk
Orientação a objetos - Conceitos
•
Tentar simular o mundo real dentro do computador,
através de objetos.
•
Cabe ao programador moldar o mundo dos objetos, e
explicar para estes objetos como eles devem interagir
entre si
•
Os objetos "conversam" uns com os outros através do
envio de mensagens
•
Uma mensagem é um pequeno texto que os objetos
conseguem entender
•
Junto com algumas dessas mensagens ainda é possível
passar algumas informações para o objeto (parâmetros)
Orientação a objetos - Conceitos
Classe é uma abstração que define um tipo de objeto e o
que objetos deste determinado tipo tem dentro deles
(seus atributos) e também define que tipo de ações esse
tipo de objeto é capaz de realizar (métodos).
Ex: Classe Cachorro
•
Propriedades: Nome (string), Raça (string), Altura (float), Peso
(float), idade (int), Comprimento (float), etc.
•
Métodos: Latir, Pular, Comer, Dormir, Brincar, Falar, etc.
Orientação a objetos - Conceitos
Classes podem ser derivadas de outras classes,
formando uma hierarquia, de classes e subclasses
Ex: Classe Animal
•
Subclasses de Animal: Mamífero, Peixe, Réptil,
Inseto, Pássaro, etc.
Subclasses de Mamífero: Homem, Rato, Baleia,
Cachorro, etc.
Subclasses de Réptil: Jacaré, Crocodilo, etc.
Fonte: http://www.hardware.com.br/artigos/programacao-orientada-objetos/