César Augusto Pessôa
Sumário
 Objetivos
 Programação estruturada
 Programação orientada a objetos
 Paradigmas da orientação a objetos
 Rev...
Objetivos
 Ao final da aula, os alunos saberão
identificar as principais diferenças
entre a programação estruturada e a
p...
Programação estruturada
 Forma de programação onde todos os
programas são desenvolvidos sob três
estruturas: sequência, d...
Programação estruturada
O que é um objeto
Programação orientada a objetos
 A primeira coisa que devemos ter em
mente é que, tudo em nosso cotidiano
é um objeto!
 ...
Programação orientada a objetos
 Considerando a chave abaixo como
um objeto, podemos ressaltar
algumas características:
...
Quanto tipos de chave existem?
Objeto Pessoa
 Podemos dizer que uma pessoa é um
objeto porque toda a pessoa possui
características muito parecidas,
poré...
Objetos do tipo Pessoa
Classes
 Os objetos de nosso mundo, nosso domínio,
serão identificados dentro de nossos
programas como classes.
 As clas...
Paradigmas da POO
 Herança
 Ocorre quando um objeto possui características e
ações oriundas de outro objeto superior. Po...
Paradigmas da POO
 Encapsulamento
 São informações presentes em um objeto e que
estão ocultas para o mundo exterior, som...
Paradigmas da POO
 Encapsulamento
 Métodos
Objeto
Pessoa
Pensar
Andar
Comer
Chorar
Dirigir
Dormir
Sorrir
Paradigmas da POO
 Encapsulamento
 Atributos ou
 Propriedades
Nome
Endereço
Telefone
Idade
Gênero
Profissão
Ler
Telefon...
Paradigmas da POO
 Encapsulamento
 Não sabemos exatamente como as coisas
acontecem, mas podemos nos relacionar com os
ob...
Paradigmas da POO
 Abstração
 Ocorre quando são definidas características
comuns a um grupo de objetos, sendo possível
e...
Paradigmas da POO
 Polimorfismo
 Literalmente significa “muitas formas”. Ocorre
quando uma mesma ação pode ser executada...
Interfaces
 Uma interface serve para identificar um
comportamento obrigatório de uma classe.
 Por exemplo, no caso do pá...
Interfaces
 Podemos então declarar um conjunto de
comportamentos que nossos objetos avião e
pássaro tem em comum.
 O pró...
Classes abstratas
 Recebem este nome devido ao seu alto nível
de abstração, ou seja, a grande distância entre
sua impleme...
Classes abstratas
Herança
 Mantendo o nosso exemplo do objeto ser
vivo e se considerarmos ele como abaixo:
 Atributos:
 Altura
 Peso
 I...
Herança
 Uma classe pessoa, poderia herdar
características da classe ser vivo.
 Da mesma forma se criássemos as classes
...
Herança
 Se uma classe abstrata não pode ser
instanciada, então pra que raios ela serve?
Revisão de C# - Sintaxe
// Bibliotecas utilizadas
using System;
using System.Collections.Generic;
using System.Linq;
using...
Revisão de C# - Classe
public class Pessoa
{
private string _nome;
private float _altura, _peso;
private int _idade;
priva...
Revisão de C# - Encapsulamento
public string Nome
{
get{return _nome;}
set{_nome = value;}
}
public float Altura
{
get { r...
Revisão de C# - Encapsulamento
public DateTime DataNasc
{
get { return this._dataNasc; }
set { this._dataNasc = value; }
}...
Revisão de C# - Tipos de dados
Tipo de dados Intervalo
byte 0 .. 255
sbyte -128 .. 127
short -32.768 .. 32.767
ushort 0 .....
Revisão de C# - Tipos de dados
Tipo de dados Intervalo
ulong 0 .. 18.446.744.073.709.551.615
float -3,402823e38 3,402823e3...
Bibliografia
Use a Cabeça C#
2ª Edição – 2010
Autores: Stellman, Andrew; Greene, Jennifer
Editora: Alta Books
Como Program...
Bibliografia
C# e .NET – Guia do desenvolvedor
Autor: Lima, Edwin
Editora: Editora Campus
Desenvolvimento web com ASP.NET ...
Dúvidas?
César Augusto Pessôa
capfg@hotmail.com
02 - Orientação a objetos e revisão de C# v1.5
Próximos SlideShares
Carregando em…5
×

02 - Orientação a objetos e revisão de C# v1.5

381 visualizações

Publicada em

Ao final da aula, os alunos saberão identificar as principais diferenças entre a programação estruturada e a programação orientada a objetos.

Apresentar aos alunos uma pequena revisão de C# e a IDE Visual Studio.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
381
No SlideShare
0
A partir de incorporações
0
Número de incorporações
23
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

02 - Orientação a objetos e revisão de C# v1.5

  1. 1. César Augusto Pessôa
  2. 2. Sumário  Objetivos  Programação estruturada  Programação orientada a objetos  Paradigmas da orientação a objetos  Revisão C#  Exercícios práticos no Visual Studio
  3. 3. Objetivos  Ao final da aula, os alunos saberão identificar as principais diferenças entre a programação estruturada e a programação orientada a objetos.  Apresentar aos alunos uma pequena revisão de C# e a IDE Visual Studio.
  4. 4. Programação estruturada  Forma de programação onde todos os programas são desenvolvidos sob três estruturas: sequência, decisão e iteração (ou repetição).  Orientada a criação de estruturas simples nos programas, usando as sub- rotinas e as funções. Foi a forma dominante na criação de software anterior à programação orientada por objetos.
  5. 5. Programação estruturada
  6. 6. O que é um objeto
  7. 7. Programação orientada a objetos  A primeira coisa que devemos ter em mente é que, tudo em nosso cotidiano é um objeto!  E... Cada objeto está inserido em um contexto, também chamado de domínio. Objeto Domínio
  8. 8. Programação orientada a objetos  Considerando a chave abaixo como um objeto, podemos ressaltar algumas características:  Cor  Tamanho  Material  Fabricante  Tipo  Etc. Objeto Chave
  9. 9. Quanto tipos de chave existem?
  10. 10. Objeto Pessoa  Podemos dizer que uma pessoa é um objeto porque toda a pessoa possui características muito parecidas, porém, cada pessoa é única!  Cor do cabelo  Tipo do cabelo  Cor dos olhos  Formato dos olhos  Dimensão do sorriso  Etc.
  11. 11. Objetos do tipo Pessoa
  12. 12. Classes  Os objetos de nosso mundo, nosso domínio, serão identificados dentro de nossos programas como classes.  As classes, como representantes dos objetos, também possuem um comportamento e características.  As características de um objeto serão chamadas atributos ou propriedades.  O comportamento de um objeto será definido por meio de métodos.
  13. 13. Paradigmas da POO  Herança  Ocorre quando um objeto possui características e ações oriundas de outro objeto superior. Por exemplo, quando um filho herda os olhos e temperamento do pai.
  14. 14. Paradigmas da POO  Encapsulamento  São informações presentes em um objeto e que estão ocultas para o mundo exterior, somente sendo possível acessá-las por meio de interações permitidas pelo objeto. Por exemplo, quando abrimos uma janela e as pessoas conseguem enxergar o que estamos fazendo dentro de nossa casa.
  15. 15. Paradigmas da POO  Encapsulamento  Métodos Objeto Pessoa Pensar Andar Comer Chorar Dirigir Dormir Sorrir
  16. 16. Paradigmas da POO  Encapsulamento  Atributos ou  Propriedades Nome Endereço Telefone Idade Gênero Profissão Ler Telefone Ler Endereço Ler Idade Ler Nome Ler Profissão Ler Gênero
  17. 17. Paradigmas da POO  Encapsulamento  Não sabemos exatamente como as coisas acontecem, mas podemos nos relacionar com os objetos para descobrir e obter mais informações conforme o necessário.  E esta é exatamente a maior vantagem do encapsulamento! Eu não preciso conhecer as regras específicas de cada objeto, apenas preciso saber como me relacionar com ele. “A ignorância é uma espécie de bênção. Se você não sabe, não existe dor.” – John Lennon
  18. 18. Paradigmas da POO  Abstração  Ocorre quando são definidas características comuns a um grupo de objetos, sendo possível encontrar as mesmas características em objetos diferentes. Por exemplo, objetos cortantes.
  19. 19. Paradigmas da POO  Polimorfismo  Literalmente significa “muitas formas”. Ocorre quando uma mesma ação pode ser executada por diversos objetos diferentes e de formas diferentes. Por exemplo, podemos dizer que um pássaro voa, assim como um avião também voa. Entretanto, ambos são objetos diferentes que voam de forma diferente.
  20. 20. Interfaces  Uma interface serve para identificar um comportamento obrigatório de uma classe.  Por exemplo, no caso do pássaro e do avião, ambos devem possuir o método voar, porém, realizados de forma diferente. Podemos então utilizar a interface IVoador.
  21. 21. Interfaces  Podemos então declarar um conjunto de comportamentos que nossos objetos avião e pássaro tem em comum.  O próximo passo, é construir uma interface que absorva estes comportamentos (métodos), e possa ser utilizada por ambos os objetos (classes).
  22. 22. Classes abstratas  Recebem este nome devido ao seu alto nível de abstração, ou seja, a grande distância entre sua implementação e o objeto real.  Por exemplo, podemos ter uma classe abstrata denominada ser vivo.  Com certeza esta classe possui atributos e métodos que podemos utilizar para pessoas, cachorros, pássaros, gatos, etc.  Porém seria muito difícil utilizarmos um objeto tão abrangente. Para cadastrar uma pessoa, por exemplo, precisaríamos de informações muito específicas, além do básico “ser vivo”.
  23. 23. Classes abstratas
  24. 24. Herança  Mantendo o nosso exemplo do objeto ser vivo e se considerarmos ele como abaixo:  Atributos:  Altura  Peso  Idade  Métodos  Respirar  Comer  Descansar
  25. 25. Herança  Uma classe pessoa, poderia herdar características da classe ser vivo.  Da mesma forma se criássemos as classes cachorro, gato, rato e peixe. Todas poderiam herdar as características e comportamentos da classe ser vivo, evitando assim que cada classe tenha que repetir seus atributos e métodos.
  26. 26. Herança  Se uma classe abstrata não pode ser instanciada, então pra que raios ela serve?
  27. 27. Revisão de C# - Sintaxe // Bibliotecas utilizadas using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; // Namespace do projeto namespace CadastroDePessoas { // Classe public class Pessoa { ... }
  28. 28. Revisão de C# - Classe public class Pessoa { private string _nome; private float _altura, _peso; private int _idade; private DateTime _dataNasc; private int _genero; // Construtor sem parâmetros public Pessoa() { } // Construtor com parâmetros public Pessoa(string nome, float altura, float peso, int idade, DateTime dataNasc, int genero) { this._nome = nome; this._altura = altura; this._peso = peso; this._idade = idade; this._dataNasc = dataNasc; this._genero = genero; }
  29. 29. Revisão de C# - Encapsulamento public string Nome { get{return _nome;} set{_nome = value;} } public float Altura { get { return this._altura; } set { this._altura = value; } }
  30. 30. Revisão de C# - Encapsulamento public DateTime DataNasc { get { return this._dataNasc; } set { this._dataNasc = value; } } public int Idade { get { this._idade = DateTime.Now.Year - this._dataNasc.Year; return this._idade; } set { this._idade = value; } }
  31. 31. Revisão de C# - Tipos de dados Tipo de dados Intervalo byte 0 .. 255 sbyte -128 .. 127 short -32.768 .. 32.767 ushort 0 .. 65,535 int -2.147.483.648 .. 2.147.483.647 uint 0 .. 4.294.967.295 long -9.223.372.036.854.775.808 .. 9.223.372.036.854.775.807
  32. 32. Revisão de C# - Tipos de dados Tipo de dados Intervalo ulong 0 .. 18.446.744.073.709.551.615 float -3,402823e38 3,402823e38 double -1,79769313486232e308 1,79769313486232e308 decimal -79228162514264337593543950335 .. 79228162514264337593543950335 char Um caractere Unicode. string Uma seqüência de caracteres Unicode. bool VERDADEIRO ou FALSO.
  33. 33. Bibliografia Use a Cabeça C# 2ª Edição – 2010 Autores: Stellman, Andrew; Greene, Jennifer Editora: Alta Books Como Programar com Asp. Net e C# Autor: Lotar, Alfredo Editora: NOVATEC
  34. 34. Bibliografia C# e .NET – Guia do desenvolvedor Autor: Lima, Edwin Editora: Editora Campus Desenvolvimento web com ASP.NET MVC Autores: Fabrício Sanchez, Márcio Fábio Althmann Editora: Casa do código
  35. 35. Dúvidas?
  36. 36. César Augusto Pessôa capfg@hotmail.com

×