• Este é um repositório com o conteúdo das aulas de Programação Orientada a Objetos,
ministradas pelo professor Elias de Abreu, utilizando o Visual Studio e
MySQL como ferramentas de aprendizado.
Elias de Abreu Domingos da Silva - Entusiasta em TI | Professor de Curso Técnico e Superior
IFRO Campus Ji-Paraná • Atuando desde Dezembro de 2017
Linguagens & Tecnologias: Visual Studio
• MySQL
• C#
• SQL
• E outros...
Contato: Elias de Abreu (LinkedIn)
A Programação Orientada a Objetos (POO) é uma maneira de escrever código pensando em objetos interconectados, cada um com suas próprias características e habilidades. Isso nos ajuda a organizar o código de forma lógica, dividindo-o em classes e objetos.
Os principais conceitos são:
- Classe: É um modelo para criar objetos, especificando os atributos e métodos que os objetos terão.
- Objeto: É uma instância de uma classe que representa uma entidade específica com dados e funcionalidades definidos pela classe.
- Métodos: São as ações que um objeto pode realizar, definidos dentro das classes. Eles podem receber parâmetros, realizar operações e retornar valores, permitindo que os objetos interajam entre si e com o ambiente.
- Herança: Permite que uma classe herde características de outra, evitando repetição de código.
- Encapsulamento: Esconde partes do código e permite acesso apenas por métodos específicos.
- Polimorfismo: Diferentes objetos podem ser tratados de maneira uniforme, mesmo sendo de classes diferentes.
- Abstração: É o processo de identificar as características essenciais de um objeto, ignorando os detalhes irrelevantes. Isso é feito definindo classes que encapsulam o comportamento e estado das entidades do mundo real.
POO torna o código mais organizado, fácil de entender e reutilizável, como um conjunto de Lego para construir programas.
Note
Retirado da aula de "Software_de_Gerenciamento_(POO)"
Nesta aula foram aprendidos:
- Conceitos básicos para a criação de Classes
- Conceitos básicos para a criação de Objetos
- Criação de Métodos na mesma instância das Classes
public class Funcionario // <-- Criação da Classe "Funcionário"
{
public string nome;
public string cpf;
public string email;
public string senhaAcesso;
public DateTime dataNascimento;
public string sexo;
public int CalcularIdade() // <-- Criação dum Método que calcula a idade do funcionário
{
DateTime dataAtual = DateTime.Today;
int idade = dataAtual.Year - dataNascimento.Year;
if (dataAtual < dataNascimento.AddYears(idade))
{
idade--;
}
return idade;
}
}
static void Main(string[] args) // <-- Main program
{
// SOFTWARE DE GERENCIAMENTO - APRENDENDO A FAZER CLASSES E ATRIBUTOS
// A empresa "Plugar Tecnologia" deseja desenvolver um software para gerenciar os serviços oferecidos aos clientes.
// Para isso, é necessário cadastrar os clientes com os seguintes dados: Nome, CPF, Data de Nascimento e Sexo.
// Também é necessário cadastrar os funcionários com: Nome, CPF, E-mail, Senha de Acesso, Data de Nascimento e Sexo.
// Cada serviço serviço possui: Um código, Nome, Valor Estimado, Garantias e o Tempo Estimado para a realização.
// Um caixa tem um dos serviços oferecidos aos clientes em forma de vendas, cada venda tem uma Data, Horário,
// Valor Total, Cliente, os Serviços Oferecidos e um Caixa de ata de abertura, uma Data de Fechamento,
// um Funcionário Responsável, Valor de Abertura, Status (Aberto ou Fechado) e o Saldo Final.
// -------------------------------------------------------------------------------
Funcionario f1 = new Funcionario(); // <-- Criando um novo objeto para a classe e atribuindo valores
f1.nome = "Bernado";
f1.cpf = "011.900.605-12";
f1.email = "[email protected]";
f1.senhaAcesso = "090001";
f1.dataNascimento = new DateTime(1998, 11, 01);
f1.sexo = "M";
int idade = f1.CalcularIdade();
Console.Write("\r\n ┌────────────────────────────────────────┐");
Console.Write("\r\n │ Calculando a idade dos funcionários... │");
Console.Write("\r\n └────────────────────────────────────────┘\r\n");
Console.WriteLine($" A idade do(a) funcionário(a) {f1.nome} é {idade} anos.");
Funcionario f2 = new Funcionario();
f2.nome = "Túlio";
f2.cpf = "073.743.623-24";
f2.email = "[email protected]";
f2.senhaAcesso = "090002";
f2.dataNascimento = new DateTime(2003, 01, 17);
f2.sexo = "M";
idade = f2.CalcularIdade();
Console.WriteLine($" A idade do(a) funcionário(a) {f2.nome} é {idade} anos.");
Funcionario f3 = new Funcionario();
f3.nome = "Letícia";
f3.cpf = "061.807.612-14";
f3.email = "[email protected]";
f3.senhaAcesso = "090003";
f3.dataNascimento = new DateTime(2000, 01, 30);
f3.sexo = "F";
idade = f3.CalcularIdade();
Console.WriteLine($" A idade do(a) funcionário(a) {f3.nome} é {idade} anos.");
Console.ReadKey();
}
Note
Retirado da aula de "Cadastro_de_Alunos_(POO)"
Nesta aula foram aprendidos:
- Implementação de listas simples na criação de classes, objetos e atributos
public class Aluno // <-- Criação da classe "Aluno"
{
public string nome; // <-- Atributo para armazenar o nome do aluno
public string cpf; // <-- Atributo para armazenar o CPF do aluno
public string email; // <-- Atributo para armazenar o email do aluno
}
static void Main(string[] args)
{
// CADASTRO DE ALUNO - IMPLEMENTANDO LISTAS NA CRIAÇÃO DE CLASSES E ATRIBUTOS
// Faça um algoritmo de "Cadastro de Alunos". Nesse algoritmo terá uma interação com o usuário
// onde será perguntado se ele deseja cadastrar um aluno com Nome, CPF e Email até que ele
// selecione que não deseja mais cadastrar nenhum aluno, assim finalizando o cadastro e
// mostrando uma lista de todos cadastrados com seus respectivos Nomes, CPFs e Emails.
// -------------------------------------------------------------------------------
List<Aluno> alunos = new List<Aluno>(); // <-- Lista para armazenar os alunos cadastrados
Console.Write("\r\n ┌────────────────────┐");
Console.Write("\r\n │ Cadastro de Alunos │");
Console.Write("\r\n └────────────────────┘\r\n");
while (true)
{
Console.WriteLine("\n Deseja cadastrar um aluno? (s/n)");
string resposta = Console.ReadLine();
if (resposta.ToLower() != "s")
{
break;
}
Aluno aluno = new Aluno(); // <-- Cria um novo objet "Aluno"
Console.Write("\n Nome do(a) aluno: ");
aluno.nome = Console.ReadLine();
Console.Write(" CPF do aluno: ");
aluno.cpf = Console.ReadLine();
Console.Write(" Email do aluno: ");
aluno.email = Console.ReadLine();
alunos.Add(aluno); // <-- Adiciona o aluno à lista de alunos cadastrados
}
Console.WriteLine("\r\n -----------------------------------------");
Console.Write("\r\n ┌──────────────────────────────┐");
Console.Write("\r\n │ Lista de alunos cadastrados: │");
Console.Write("\r\n └──────────────────────────────┘\r\n");
foreach (var aluno in alunos) // Para cada aluno na lista de alunos cadastrados...
{
Console.WriteLine($"\n Nome: {aluno.nome}, CPF: {aluno.cpf}, Email: {aluno.email}"); // ...exibe na tela o nome, CPF e email do aluno
}
Console.WriteLine("\r\n -----------------------------------------");
Console.ReadKey();
}
|