A imagem inicial contém códigos de programação onde parte da imagem está desfocada e outra parte om as linhas de códigos em cores alternadas entre azul e laranja.
Neste módulo, serão apresentados os conceitos relacionados à linguagem C# ligados à programação orientada a objetos, a qual é muito importante quando você estiver atuando como programador, sobretudo, ao criar softwares personalizados.
Partindo disso, você estudará sobre abstração e herança, polimorfismo e encapsulamento, classe abstrata e classe sealed.
Vamos começar?!
Para iniciar seus estudos sobre abstração e herança, ouça nosso podcast para obter maiores informações quanto aos conceitos.
Observe no código, o conceito inicial do processo de utilização de herança de determinada classe.
Herança (parte 1)
Esse projeto consiste em um algoritmo para controle de salário dos professores. Note que, inicialmente, foi criada a variável “salariomaximo” com característica “readonly ”, ou seja, que não pode ser modificada. Já o “salarioatual” serve para fazer a atualização do valor do salário do professor.
Observe os pontos principais quanto ao que foi realizado no projeto mencionado. Selecione cada um para conhecê-los!
Foi realizada a formação de um construtor, que recebe o valor do salário máximo.
Criou-se um método responsável por fazer a modificação do salário.
Foi acrescentada uma espécie de saturador, em que, determinando-se um teto máximo e um valor mínimo para o salário, este não poderá ser negativo, nem ultrapassar o teto máximo.
Além de tudo isso, foram criados os métodos responsáveis por fazer o aumento ou a diminuição do salário, intitulados “AumentaSalario” e “DiminuiSalario”, respectivamente.
Agora, veja mais uma parte do código:
Herança (parte 2)
Note que foi criada uma classe “Prof” que herdará os métodos da superclasse “Professor”. Posteriormente, no main, criamos um objeto para a classe que herdou os métodos. Em seguida, utilizamos os métodos herdados com o objeto criado.
Na prática, os conceitos de abstração e herança ficam mais fáceis de serem entendidos, não é mesmo? Assim como a técnica utilizada, que o ajudará muito no desenvolvimento de seus projetos. Com o objetivo de complementar seus estudos, no próximo tópico apresentaremos o polimorfismo e o encapsulamento. Confira!
O Polimorfismo e o Encapsulamento almejam tornar o futuro software não só mais flexível, como também facilita a sua modificação e criação de novas implementações.
Iniciando pelo Polimorfismo, pode-se dizer que ele se subdivide em estático ou dinâmico. Explore o recurso abaixo para entender a diferença entre os dois e ainda conhecer a definição do que é o encapsulamento, muito utilizado também no dia a dia da profissão!
Observamos dois métodos com o mesmo nome dentro de uma mesma classe.
Consiste em sistemas que contêm classes com heranças, fazendo a instância de objetos a partir da superclasse.
Consiste na possibilidade de "esconder" parte do código para evitar o acesso de outra pessoa que não seja o programador, ficando até mais fácil realizar modificações no código sem causar problemas.
Temos disponíveis quatro tipos de visibilidade. No caso do public, está relacionado ao que pode ser visto e acessado por todos. Já internal é aquilo que pode ser acessado apenas dentro do projeto. O protected está ligado ao que é passado por herança. Por fim, o private é aquilo que pode ser visto apenas pela classe.
Para entender o conceito de encapsulamento na prática, observe na parte 1 do código abaixo, a criação de uma variável do tipo private, a qual será acessada apenas pela classe responsável. Utilizaremos, também, os métodos get e set estudados anteriormente, demonstrando uma relação entre os conteúdos.
Encapsulamento (parte 1)
Na parte 2 do código, note que o acesso aos métodos da classe é realizado a partir de objetos criados nessa mesma classe.
Encapsulamento (parte 2)
Após estudar sobre o Polimorfismo estático e dinâmico, bem como o Encapsulamento a partir de exemplos, você pode notar o quanto eles facilitam as possíveis modificações do software que será desenvolvido por você, como também o tornam mais eficaz no momento do uso.
Todavia, aliados a esses dois conceitos, você verá no próximo tópico sobre as classes abstrata e sealed.
Conforme você estudou, a classe é um bloco de construção básico na linguagem C#. Ela pode ser do tipo abstrata somente se houver outra classe que a herde, uma vez que esse tipo não pode ser instanciado. Entenda melhor com os conceitos apresentados na imagem.
No código a seguir, veja na prática a criação de uma classe abstrata com o nome “Telefone” e a criação, logo na sequência, de uma classe de nome “Xiaomi”, que herda os métodos da classe “Telefone”. No caso, a configuração override é utilizada quando desejamos sobrescrever um método.
Classe abstrata
Já a classe do tipo sealed é utilizada quando desejamos que seja proibido haver herança. A configuração é realizada conforme o exemplo a seguir, fazendo com que a classe “Escola” esteja selada.
Nele, você estudou sobre os conceitos de abstração e herança, polimorfismo e encapsulamento, classe abstrata e classe sealed.
Agora, para que seus estudos fiquem completos, vamos aprender sobre expressões?
Na programação, elas são muito relevantes, porque auxiliam na construção das operações, viabilizando a aplicação da Linguagem C#, contribuindo diretamente para o seu futuro profissional.
Desta forma, acompanhe o último módulo do curso. Selecione o botão “Avançar” e confira!