Code Monkey home page Code Monkey logo

poo_programacao_orientada_a_objetos's Introduction

Licence-badge

POO-pic

Programação Orientada a Objetos 🧩

• 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.

Sumário 🧾



Readme Quotes

👨‍🏫 Professor:

EliasAbreu-pic

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 StudioMySQLC#SQLE outros...
Contato: Elias de Abreu (LinkedIn)


Programação Orientada a Objetos (P.O.O)

O que é isso?

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.


📚 Conceitos Aprendidos:

1. Classes, Objetos e Métodos

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();
}

2. Listas e Classes

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();
}

👤 Autor



Feito com 💜 por Juletopi.

poo_programacao_orientada_a_objetos's People

Contributors

juletopi avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.