Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Prof. Salatiel Marinho
UNIDADE I
Programação Orientada 
a Objetos II
 Visual Studio Code
Agenda
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
 O Visual Studio Code não é apenas mais um bloco de notas desenvolvido com coloração de 
sintaxe e recuo automático. Em vez disso, é um ambiente de desenvolvimento focado em 
código muito poderoso.
Visual Studio Code
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
 Suporte interno para codificação com vários idiomas, incluindo aqueles que nós normalmente 
utilizamos em cenários de desenvolvimento de plataforma cruzada, com recursos avançados 
de edição e suporte para idiomas adicionais via extensibilidade.
Visual Studio Code
Fonte: https://code.visualstudio.com/
 O controle de versão baseado no popular mecanismo Git, que fornece uma experiência 
integrada de colaboração que suporta confirmações e ramificações de código, é a escolha 
adequada para uma ferramenta destinada a trabalhar com possivelmente qualquer idioma.
Visual Studio Code
Fonte: https://code.visualstudio.com/
Visual Studio Code
Fonte: https://code.visualstudio.com/download
Visual Studio Code
Fonte: autoria própria
Visual Studio Code
Fonte: autoria própria
Visual Studio Code e Visual Studio Community
Fonte: autoria própria
Visual Studio Code e Visual Studio Community
Fonte: autoria própria
Visual Studio Code e Visual Studio Community
Fonte: autoria própria
Interatividade
O controle de versão baseado no popular mecanismo _______ fornece uma experiência 
integrada de colaboração que suporta confirmações e ramificações de código. Podemos 
completar a frase com:
a) Code.
b) POO.
c) Git.
d) Visual.
e) SQL.
Resposta
O controle de versão baseado no popular mecanismo _______ fornece uma experiência 
integrada de colaboração que suporta confirmações e ramificações de código. Podemos 
completar a frase com:
a) Code.
b) POO.
c) Git.
d) Visual.
e) SQL.
Agenda
 Lógica de programação – desenvolvendo habilidades de Programação Orientada a Objetos.
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
Lógica de programação – desenvolvendo habilidades de programação 
orientada a objetos
Um dos pilares da Lógica de Programação aplicada à programação orientada a objetos é que
todo sistema passa pela estrutura apresentada abaixo:
Fonte: autoria própria
Entrada
Processamento
Saída
 Lógica de programação é o alicerce que um programador precisa para aplicar conceitos 
básicos na construção de um software de complexidade simples, média ou avançada.
Fonte: https://pixabay.com/vectors/football-stadium-sport-san-mames-96041/
Lógica de programação – desenvolvendo habilidades de programação 
orientada a objetos
Técnicas de desenvolvimento – desenvolvendo habilidades de programação 
orientada a objetos 
 Segundo Gama (2000) e Evans (2007), herança é uma parte importante de toda e qualquer 
linguagem orientada a objetos, sendo assim, as classes podem herdar uma da outra, o que 
significa que, por exemplo, uma classe herdada recebe todo o comportamento da classe 
herdada, também conhecida como classe base.
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
Fonte: autoria própria - Herança
Técnicas de desenvolvimento – desenvolvendo habilidades de programação 
orientada a objetos 
Técnicas de desenvolvimento – desenvolvendo habilidades de programação 
orientada a objetos 
Fonte: autoria própria - Herança
Técnicas de desenvolvimento – desenvolvendo habilidades de programação 
orientada a objetos 
 Quando transformamos um procedimento que apresenta muitas regras de negócio ou rotinas 
complexas em um método, chamamos isso de encapsulamento.
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
 Privado – apenas visível para a classe que o contém.
 Protegido – visível apenas para a classe e os herdeiros.
 Público – visível para todos.
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
Técnicas de desenvolvimento – desenvolvendo habilidades de programação 
orientada a objetos 
Fonte: autoria própria - Herança
Técnicas de desenvolvimento – desenvolvendo habilidades de programação 
orientada a objetos 
Interatividade
Quando transformamos um procedimento que apresenta muitas regras de negócio ou rotinas 
complexas em um método, chamamos isso de _________. Podemos completar a frase com:
a) Encapsulamento.
b) Herança.
c) Polimorfismo.
d) Ajuste.
e) Normalização de processo.
Resposta
Quando transformamos um procedimento que apresenta muitas regras de negócio ou rotinas 
complexas em um método, chamamos isso de _________. Podemos completar a frase com:
a) Encapsulamento.
b) Herança.
c) Polimorfismo.
d) Ajuste.
e) Normalização de processo.
 O que Programação Orientada a Objetos.
Agenda
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
O que é Programação Orientada a Objetos?
 O desenvolvimento de aplicações utilizando a linguagem de programação C# pode ser 
considerado uma base importante para auxiliar na transição de análise para o código que 
será desenvolvido.
Fonte:https://pixabay.com/vectors/programmer-programming-code-work-1653351/
 A linguagem C# vem crescendo a cada dia, aumentando sua disseminação no mercado de 
desenvolvimento de software. A partir da sua concepção até os dias atuais, nota-se a 
preocupação em garantir a evolução da linguagem, acompanhando o crescimento 
exponencial do mercado de software.
Linguagem de programação C# – Programação Orientada a Objetos
Linguagem de programação C# – características
 No coração de qualquer linguagem orientada a objetos, está seu suporte para definir e 
trabalhar com classes. Classes determinam novos tipos, permitindo que você estenda a 
linguagem e consiga manipular melhor o problema que você está tentando solucionar. C# 
contém palavras-chave para declaração de novas classes e de seus métodos e propriedades 
e para implementação de encapsulamento, polimorfismo, os três pilares da programação 
orientada a objetos.
 Princípio de Responsabilidade Única (SRP)
 Princípio Aberto Fechado (OCP)
 Princípio da Substituição de Liskov (LSP)
 Princípio de Segregação de Interface (ISP)
 Princípio da Inversão de Dependência (DIP)
Linguagem de programação C# – características
Linguagem de programação C# – características de desenvolvimento
 O princípio de responsabilidade única, ou SRP, tem como premissa que uma classe deve ser 
responsável por uma única funcionalidade, ou seja, uma funcionalidade pode ter como 
definição um motivo para mudar.
 Sem dúvida, considera-se o princípio mais complicado de se entender e assimilar é o 
Princípio Aberto Fechado ou OCP.
Linguagem de programação C# – características de desenvolvimento
 O Princípio da Substituição de Liskov, LSP, define-se basicamente sobre herança, sendo 
assim, sua afirmação é de que subclasses e classes base devem ser substituíveis.
 O Princípio de Segregação de Interface, ou ISP, é como o Princípio de Responsabilidade 
Única por Interfaces, ou seja, podemos definir que não estamos falando das interfaces 
abstratas, mas sim dos métodos públicos da nossa classe.
Linguagem de programação C# – características de desenvolvimento
 O Princípio da Inversão da Dependência, DIP, tem por definição afirmar que nós devemos 
depender de abstrações em vez de tipos concretos. Esse é um princípio que nós 
encontramos com frequência, mas que é bastante difícil de colocar em prática de 
maneira correta.
 Injeção de dependência, ou conhecido como um "Contêiner de DI", fornecido pelo Unity, é 
definido com um tipo de repositório em que tipos abstratos são realizam mapeamento para 
tipos concretos.
Interatividade
É como o Princípio de Responsabilidade Única por Interfaces, ou seja, podemosdefinir que 
não estamos falando das interfaces abstratas, mas sim dos métodos públicos da nossa classe. 
Estamos falando da definição:
a) Princípio de Segregação de Interface.
b) Princípio de Responsabilidade Única.
c) Princípio Aberto Fechado.
d) Princípio de Segregação Única.
e) Princípio Aberto Único.
Resposta
É como o Princípio de Responsabilidade Única por Interfaces, ou seja, podemos definir que 
não estamos falando das interfaces abstratas, mas sim dos métodos públicos da nossa classe. 
Estamos falando da definição:
a) Princípio de Segregação de Interface.
b) Princípio de Responsabilidade Única.
c) Princípio Aberto Fechado.
d) Princípio de Segregação Única.
e) Princípio Aberto Único.
Agenda
 Plano de desenvolvimento.
Fonte:https://pixabay.com/illustrations/c-c-sharp-programming-sharp-coding-2188446/
Plano de desenvolvimento de software
 Atualmente, o desenvolvimento de software cresce exponencialmente. Planejamento, 
Desenvolvimento, Construção e Avaliação (PDCA) são as constantes utilizadas para que o 
ciclo de desenvolvimento permaneça ativo no dia a dia.
Plano de desenvolvimento
Um dos pilares da Lógica de Programação aplicada à programação orientada a objetos é que 
todo sistema passa pela estrutura apresentada abaixo:
Fonte:http://www.sobreadministracao.com/wp-content/uploads/2011/06/ciclo-pdca.jpg 
(adaptado)
 Localizar
problemas
 Estabelecer
planos de
ação
 Execução do
plano
 Colocar plano
em prática
 Verificar
atingimento 
de meta
 Acompanhar
indicadores
 Ação corretiva
no insucesso
 Padronizar e
treinar no
sucesso 
Para o desenvolvimento de um software, são necessárias algumas perguntas:
 Como entender o requisito solicitado e “traduzir” em linguagem de programação?
 Como atender a todas as necessidades de um projeto de software utilizando linguagem de 
programação?
Documentação – Programação Orientada a Objetos
Documentação – Programação Orientada a Objetos
 Para que todas as respostas possam ser apresentadas, um dos recursos que irá conduzir o 
desenvolvimento do software e auxiliar na visualização das etapas será o UML. Dessa 
metodologia, iremos absorver:
 Diagrama de Caso de Uso;
 Diagrama de Classe;
 Diagrama de Sequência.
 Um programador precisa ter recursos de negócio para que, com suas habilidades técnicas, 
possa desenvolver softwares e um recurso de extrema importância são os diagramas da 
UML (Linguagem de Modelagem Unificada). 
Análise x desenvolvimento de aplicações - C#
Desenvolvendo e utilizando o Diagrama de Caso de Uso
Pelo Diagrama de Caso, pode-se extrair para o desenvolvimento de software:
 Entendimento da funcionalidade;
 Entendimento do fluxo de navegação da funcionalidade;
 Mensagens que serão exibidas no software.
 Relacionar pontos identificados dentro da análise do sistema utilizando o diagrama de caso 
de uso, assim facilitando o entendimento e a codificação utilizando a linguagem C#.
Vantagens – documentação x programação
 A classe MessageBox exibe uma caixa de mensagem que pode conter texto, botões e 
símbolos com o objetivo de informar e instruir o usuário. A classe MessageBox representa 
uma caixa de diálogo modal de mensagem que é definida no namespace System.Windows. 
O método estático Show da MessageBox é o único método que é usado para exibir a caixa 
de mensagem.
Utilizando caixa de mensagem – MessageBox
Qual propriedade proporciona ao programador codificar para que o sistema apresente uma 
caixa de mensagem para o usuário?
a) MessageBox.Hide.
b) MessageBox.Go.
c) MessageBox.Show.
d) MessageBox.Clear.
e) MessageBox.Presentation.
Interatividade
Qual propriedade proporciona ao programador codificar para que o sistema apresente uma 
caixa de mensagem para o usuário?
a) MessageBox.Hide.
b) MessageBox.Go.
c) MessageBox.Show.
d) MessageBox.Clear.
e) MessageBox.Presentation.
Resposta
 BECK, K. TDD – Desenvolvimento Guiado Por Testes. 1. ed. Bookman, 2010.
 CORMEN, T. Algoritmos: Teoria e Prática. 3. ed. GEN LTC, 2012.
 EVANS, E. FOWLER, M. Domain-Driven Design: Atacando as Complexidades no Coração do 
Software. 3. ed. Alfa Books, 2002.
 FREEMAN, E. FREEMAN, E. Use a Cabeça! Padrões de Projetos. 2. ed. Rio de Janeiro: Alta 
Books, 2007.
 GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J.; SALGADO, F. Padrões de Projetos: 
Soluções Reutilizáveis de Software Orientados a Objetos. 1. ed. Bookman, 2000.
 MARTIN, R. Código Limpo: Habilidades Práticas do Agile Software. 1. ed. Rio de Janeiro: Alta 
Books, 2008.
Referências
ATÉ A PRÓXIMA!

Mais conteúdos dessa disciplina