Primeiras aulas do curso VB.NET com Windows Forms Parte 2: Introdução à Orientação a Objetos

VB.NET com Windows Forms Parte 2: Introdução à Orientação a Objetos

Conceitos da programação orientada a objetos - Introdução

Olá, meu nome é Victorino Vila, e bem vindo ao curso Visual Basic .NET orientação objetos. Veja aqui em cima, isso aqui é minha aplicação de um banco, o banco ByteBank, essa aplicação controla o extrato da conta corrente de dois clientes desse banco, a Gabriela e o Bruno, note que o saldo inicial da Gabriela é 1.000 reais e o saldo inicial do Bruno é 500.

E eventualmente a Gabriela pode se quiser, fazer um depósito de 100 reais, que automaticamente o extrato da Gabriela é atualizado, por outro lado, a Gabriela pode se quiser depois pegar 300 reais e efetuar um saque. Note que o saldo dela final está aqui, o saque foi efetuado com sucesso e eu tenho aqui o extrato de novo da Gabriela.

E também a Gabriela pode se quiser pegar 500 reais e transferir para o Bruno, então ao clicar aqui em transferência, a Gabriela vai perder 500 reais, o saldo dela vai passar a ser 300 e o Bruno acaba de ganhar 500 reais e o saldo dele passa a ser 1.000.

Então essa aplicação será a aplicação que você vai construir durante esse treinamento, no final do nosso curso nos vamos ter essa aplicação pronta, só que nós não vamos construir ela usando o conceito que nos vimos lá no curso primeiros passos. Claro, nos vamos utilizar bastante coisa de lá, mas nos iremos dar ênfase na construção dessa aplicação, utilizando o que nos chamamos de programação orientada a objeto.

É claro, no começo desse treinamento nos vamos falar um pouco de teoria, ou seja, o que é a programação orientada objeto e como ela se difere por exemplo, da programação normal. E nós vamos a cada capítulo e construindo aos pouquinhos essa aplicação e utilizando no nosso código, introduzindo os conceitos da criação de um objeto, que nos chamamos eventualmente de uma classe.

E construiremos uma classe inicialmente de uma maneira simples, depois nós vamos mostrar a vocês como é que trabalhamos com propriedades, eventos e funções de uma classe, nós vamos passar a olhar o que nos chamamos do método getter e setter, para poder colocar valores nas propriedades e retirar valores da propriedade, ao mesmo tempo protegendo o valor de propriedade da classe de um acesso direto, onde podemos estar trabalhando ali com as regras de negócio que modelam aquela classe que está sendo utilizada.

E finalmente, nós vamos descobrir como é que eu posso ter propriedades das minhas classes que podem ser compartilhadas por todas as classes existentes, na medida em que vamos evoluindo com esses conceitos, vamos melhorar essa aplicação do ByteBank e no final nos vamos ter essa aplicação Windows Forms aqui.

Então sempre utilizando aquele conceito que eu estou utilizando desde o curso VB.NET primeiros passos e que eu vou estar colocando nos cursos futuros, na medida em que vamos aprendendo alguma coisa da linguagem Visual Basic .Net, intercalamos isso com alguns conceitos da programação para o Windows, utilizando o Windows Forms.

E vamos intercalando, coisas de Visual Basic .Net e vendo coisas que se pode fazer na nossa programação para o Windows Forms. Muito obrigado por vocês estarem querendo assistir esse treinamento, espero que vocês gostem e vamos começar.

Conceitos da programação orientada a objetos - Definição da programação orientada a objetos

O desenvolvimento de software é extremamente amplo, nesse mercado existem diversas linguagens de programação, que seguem diferentes paradigmas, um desses paradigmas é a orientação a objetos, que atualmente é o mais difundido entre todos.

Isso acontece porque se trata de um padrão que tem evoluído muito, principalmente em questões voltadas a segurança e a re-aproveitamento de código, o que é muito importante hoje em dia no desenvolvimento de qualquer aplicação moderna.

A programação orientada a objeto, nos comumente chamamos de POO, diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, vemos nessa figura aqui no slide a cima, uma comparação muito clara entre a programação estruturada que é uma programação normal, de desenvolvimento de software e a programação orientada a objeto.

Repare que no paradigma estruturado que está a esquerda, temos procedimentos ou funções que são aplicados globalmente a nossa aplicação, no caso da orientação a objeto, temos métodos que são aplicados aos objetos um a um. Essencialmente esses métodos são muito parecidos com os procedimentos da nossa linguagem estruturada, apenas que o escopo da sua aplicação ele é um pouco diferente.

Isso trás por exemplo, uma conclusão que a programação estruturada quando bem implementada ela possui um desempenho bem superior na programação orientada a objeto, que vai fazer com que eu faça muitos desvios durante a programação, claro que na programação estruturada esses desvios, basicamente não ocorrem, porém na programação orientada a objeto, ela traz outros pontos que fazem com que seja muito mais vantajoso estar desenvolvendo software, usando esse paradigma.

Porque hoje em dia o desempenho das aplicações não é uma coisa muito importante, não é uma preocupação como era antigamente, onde os recursos de hardware e memória eram mais escassos, hoje em dia apesar da perfomance não ser tão boa quanto da linguagem estruturada, se compensa pelo fato de você poder na programação orientada a objeto fazer a reutilização de código e também pela capacidade de representarmos o software muito mais perto do que por exemplo, o que acontece no mundo real.

Vamos falar agora sobre os quatros pilares da programação orientada a objeto. O primeiro pilar nos chamamos de abstração, esta característica ela consiste em um dos pontos mais importantes dentro da programação orientada a objeto, como a programação orientada a objeto está lidando com a representação de objeto, como se fosse da vida real, temos que imaginar que esse objeto, ele pode fazer coisas dentro do nosso sistema.

Então para definir essas coisas, existem três pontos que devem ser levados em conta quando consideramos essa abstração. O primeiro ponto é darmos uma identidade a esse objeto que nos vamos criar, essa identidade deve ser única dentro do meu sistema, para que claro não haja nenhum conflito.

Na maior parte das linguagens e o VB.NET se inclui nelas há o conceito que nós chamamos de namespaces, a identidade do objeto não pode ser repetida dentro desse namespaces, apesar de ela poder eventualmente se repetir dentro do sistema inteiro.

O segundo ponto da abstração, diz respeito as características do nosso objeto, como sabemos no mundo real, qualquer objeto possui elementos que o definem, dentro da programação orientada a objeto, essas características que definem o objeto são chamadas de propriedades.

Por exemplo, vamos supor que eu esteja fazendo um programa onde eu tenha um objeto que se chama cachorro nos podemos definir o cachorro com varias propriedades, como por exemplo: seu tamanho, a sua raça, a sua idade e assim por diante.

Por fim um terceiro ponto importante da abstração é definimos as ações que esse objeto vai executar no nosso mundo, claro, no caso no nossos sistema, essas ações são chamadas na programação orientada objeto de métodos. Esses métodos podem ser extremamente variáveis, desde por exemplo, método acender, se eu estiver trabalhando com objeto lâmpada, ou lá no nosso objeto chamado cachorro, eu posso ter o objeto latir. Ou seja, são coisas que o objeto pode fazer.

Então é isso basicamente o que eu queria falar sobre esse primeiro pilar que é a abstração. Vamos falar agora do segundo ponto, encapsulamento, o encapsulamento é uma das principais técnicas que definem a programação orientada objeto. A maior parte das linguagens de programação, implementam o encapsulamento baseado em duas propriedades privadas que existem em todos os objetos. Que são ligadas a métodos especiais que nós chamamos de getter ou setters, que vão retornar, ou setar o valor das propriedades do objeto respectivamente.

Essa atitude evita o acesso direto das propriedades do objeto, criando uma camada de segurança na aplicação. Para fazermos um paralelo com o que nos vemos no mundo real, temos encapsulamento em vários elementos reais, por exemplo, quando nós clicamos em um botão para ligar uma televisão, nós não estamos sabendo o que está acontecendo no momento em que eu ligo a TV. Podemos então dizer, que os métodos ligados a televisão, eles estão encapsulados.

Vamos falar agora de herança, o terceiro pilar da programação orientada objeto. A reutilização de códigos é uma grande vantagem da programação orientada objeto.

Muito disso se dá baseado na característica da programação orientada objeto, que nós chamamos de herança, para entendermos bem essa característica, vamos imaginar uma família, nós temos uma criança por exemplo que quando nasce ela herda as características do seu pai, que também vai herdar características do seu avó e assim sucessivamente.

Um outro exemplo que nós podemos dar no caso da programação orientada objeto, de como eu posso usar a herança, vamos supor que eu esteja modelando um objeto chamado pneu, e eu estou me baseando por exemplo, nesse objeto pneu para modelar um carro; esse objeto pneu, ele tem algumas propriedades como por exemplo, o raio, a calibragem de ar que o pneu tem que ter, e tem alguns métodos que estão muito ligados a fazer com que o pneu rode no carro.

Agora digamos que eu vá fazer uma segunda modelagem orientada a objeto, para modelar pneu de avião, o pneu de avião tem algumas características que são especificas pelo fato de ele estar segurando avião, mas ao criar o objeto pneu de avião, eu posso herdar algumas características do pneu do carro, tanto pneu do avião quanto pneu do carro, tem um raio, tem a calibragem de ar que o pneu tem que ter.

Ou seja, ao modelar o objeto pneu de avião, eu só vou colocar na minha programação as propriedades e os eventos específicos daquele novo objeto e, eu vou herdar a todas as propriedades que um pneu de carro tem. Então essa é a característica da herança.

Vamos ao quarto pilar que é o polimorfismo, polimorfismo é um outro ponto essencial para definição da programação orientada a objeto. Na natureza nos vemos animais que são capazes de alterar sua forma conforme a necessidade, como por exemplo um camaleão.

É dessa ideia que vem um polimorfismo na orientação aos objetos, como sabemos os objetos filhos, eles podem herdar características, reações, dos seus ancestrais como o exemplo do pneu ou do filho com o pai.

Entretanto, em alguns casos é necessário que essas ações, para o mesmo método sejam diferentes, em outras palavras, o polimorfismo, ele consiste na alteração do funcionamento de um método herdado de um objeto pai.

Por exemplo, vamos supor que nos temos um objeto genérico chamado eletrodoméstico, esse objeto genérico, ele possui um método/ação, chamada ligar. Temos dois objetos televisão e geladeira, que vão herdar características do método objeto, mas só que nesses dois objetos a função ligar elas não vão ser iguais. Para cada classe filha do objeto ligar eu vou ter que modificar para adaptá-lo ao objeto filho que já está herdando as características do seu objeto pai.

Então essa é a quarta característica da programação orientada a objeto, quer dizer, o quarto pilar que é o polimorfismo. Entretanto claro, nem tudo são flores, nem tudo é perfeito na programação orientada objeto.

Como já falei a execução de um programa orientada objeto, é muito mais lenta do que na programação estruturada por exemplo, isso acontece devido a complexidade do modelo, que traz representações na forma de acessar o que nós chamamos de classe.

Essas representações, essas chamadas as classes, vão fazer com que a execução do programa tenha muitos desvios, diferente da programação estruturada que é feita de uma forma sequencial. No momento atual em que estamos tecnologicamente avançados, essa execução mais lenta não é muito sentida.

Isso significa que em termos de desenvolvimento de sistemas modernas a programação orientada objeto, é a mais recomendada, devido as vantagens que foram apresentadas. Essas vantagens são derivadas do nosso modelo de programação principalmente em cima desses quatro pilares, que eu já mencionei no inicio do vídeo. Que buscam representar o mundo real.

Claro que nós estamos falando aqui de programação para Windows Forms, mas também isso que eu vou falar agora se aplica também se eu quisesse programar em Web. Todos esses programas .NET nós estamos implementando isso em computadores que possuem alto poder de processamento.

A programação orientada objeto não é muito aconselhada, quando estamos por exemplo, programando para telefone/celulares, porque os telefones/celulares trouxeram para a programação moderna, um ambiente muito parecido com o que era a programação de computação a 25, 30 anos atrás.

A 25, 30 anos atrás quando a linguagem estruturada sequencial era a mais utilizada, isso deve-se ao fato de que os recursos computacionais eles eram bem mais escassos. Com a evolução dos computadores a programação orientada objeto, ficou mais em moda, mais em uso. Mas quando passamos a programar aplicações em celulares, nos voltamos a ter um ambiente com capacidade de processamento e memória mais reduzidos.

Então a programação orientada a objeto, ela não é muito aconselhada se você for utilizar programação para aplicativo de celulares, você pode ate utilizar ela, mas tentar utilizar ela muito pouco. Mas como estamos falando aqui do nosso curso de VB.NET desenvolvimento de aplicações Windows Forms, nós iremos utilizar bastante a programação orientada objeto.

Conceitos da programação orientada a objetos - Características deste curso

Agora que vimos os conceitos de programação orientada objeto, vamos agora botar a mão na massa, como requisito esse curso exige que você tenha feito o curso do VB.NET primeiros passos, e é claro, você precisa ter na sua máquina o Visual Studio 2017 Community instalado, habilitado para a construção de projetos em VB.NET

Então eu vou aqui na minha máquina, abrir o meu Visual Studio, se você por acaso não tem o Visual Studio na sua máquina, vai lá em um dos vídeos inicias do curso primeiros passos do VB.NET, que eu mostro lá como é que se baixa e instala o Visual Studio.

Se você não fez o curso inicial, mas tem alguma noção de Visual Basic .NET, você pode começar a fazer esse curso sem precisar fazer o outro. Mas eu aconselho fortemente, porque isso é uma continuidade do que nos fizemos no curso inicial.

Então pronto, eu tenho aqui o meu Visual Studio .NET aberto, então eu já estou pronto para poder seguir com esse treinamento.

Sobre o curso VB.NET com Windows Forms Parte 2: Introdução à Orientação a Objetos

O curso VB.NET com Windows Forms Parte 2: Introdução à Orientação a Objetos possui 323 minutos de vídeos, em um total de 66 atividades. Gostou? Conheça nossos outros cursos de .NET em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda .NET acessando integralmente esse e outros cursos, comece hoje!

  • 1206 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1206 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1206 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1206 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?

Acesso completo por 1 ano

Estude 24h/dia onde e quando quiser

Novos cursos todas as semanas