Mostrando postagens com marcador entendendo. Mostrar todas as postagens
Mostrando postagens com marcador entendendo. Mostrar todas as postagens

segunda-feira, 28 de janeiro de 2019

Programando em Go (Golang) - Interface

Em golang uma interface é uma coleção de assinaturas de métodos. Em golango para se utilizar um intreface basta apenas implementar os métodos contidas na mesma.

Sintaxe:

type nome_interface interface{
  assinatura_metodo_1
  assinatura_metodo_2
  ...
  assinatura_metodo_n
}

Onde:

nome_interface - Nome da interface
assinatura_metodo_1 - Assinatura de um método.
assinatura_metodo_2 - Assinatura de um método.
assinatura_metodo_N - Assinatura de um método.

Exemplo:


package main

import ( "fmt"
         "strings")


type impressao interface{
    maiusculo() string
    minusculo() string
}


type usuario struct{
 nome, sobrenome string
}

type cidade struct{
 nome, estado string
}


func (c cidade) maiusculo() string{
  retorno:=strings.ToUpper(c.nome)+" - "+strings.ToUpper(c.estado)
  return retorno
}


func (c cidade) minusculo() string{
  retorno:=strings.ToLower(c.nome)+" - "+strings.ToLower(c.estado)
  return retorno
}


func (u usuario) maiusculo() string{
  retorno:=strings.ToUpper(u.nome)+" "+strings.ToUpper(u.sobrenome)
  return retorno
}


func (u usuario) minusculo() string{
  retorno:=strings.ToLower(u.nome)+" "+strings.ToLower(u.sobrenome)
  return retorno
}

func main(){
 cidade:= cidade{nome:"Lorena", estado:"São Paulo"}
 usuario:= usuario{nome:"Robson", sobrenome:"Gomes"}

 fmt.Println("\nDados da Usuario:\n")

 fmt.Println(" ",usuario.maiusculo())
 fmt.Println(" ",usuario.minusculo())

  fmt.Println("\nDados da Cidade:\n")


 fmt.Println(" ",cidade.maiusculo())
 fmt.Println(" ",cidade.minusculo())
 
}


Como foi possível ver acima foi criado um programa que conta com a interface  impressao:

type impressao interface{
    maiusculo() string
    minusculo() string
}


Nela é definida duas assinaturas de métodos simples, sendo que ambas retornam uma string. Logo os dois métodos são implementados pela estrutura usuario e cidade.

func (c cidade) maiusculo() string{
  retorno:=strings.ToUpper(c.nome)+" - "+strings.ToUpper(c.estado)
  return retorno
}


func (c cidade) minusculo() string{
  retorno:=strings.ToLower(c.nome)+" - "+strings.ToLower(c.estado)
  return retorno
}


func (u usuario) maiusculo() string{
  retorno:=strings.ToUpper(u.nome)+" "+strings.ToUpper(u.sobrenome)
  return retorno
}


func (u usuario) minusculo() string{
  retorno:=strings.ToLower(u.nome)+" "+strings.ToLower(u.sobrenome)
  return retorno
}



E a chamada as mesma é as mesmas são utilizadas no método main.

func main(){
 cidade:= cidade{nome:"Lorena", estado:"São Paulo"}
 usuario:= usuario{nome:"Robson", sobrenome:"Gomes"}

 fmt.Println("\nDados da Usuario:\n")

 fmt.Println(" ",usuario.maiusculo())
 fmt.Println(" ",usuario.minusculo())

  fmt.Println("\nDados da Cidade:\n")


 fmt.Println(" ",cidade.maiusculo())
 fmt.Println(" ",cidade.minusculo())
 
}



Abaixo é possível ver o resultado do método do programa acima:




Menu Principal

sexta-feira, 25 de novembro de 2011

Herança e Composição

Java

Muitas pessoas ao iniciarem os estudos programação orienta-a-objeto se confundem com alguns paradigmas clássicos, ao longo desta página estarei explicando alguns paradigmas atrávez do Java.


Herança e Composição
 
Resumo:
             Herança - A classe A é uma classe B.
             Composição - A classe A tem uma classe B.

De maneira simples herança e composição seria:

Herança - "Quando uma determinada classe herda atributos de outra".



Mas o que isso que dizer a final ?

De modo simplicado, herança é "uma classes(classe filha) que tem os mesmos atributos de uma outra (classe mãe), mais alguns atributos destintos".

Um bom exemplo de herança seria:

Uma classe mãe chamada Automovel e outras filhas; CarrosCorrida, CarrosAntigos e CarrosEsportivos:
Ambas as classes filhas podem ser vistas como um atomovel, diferenciando umas das outras por penas por alguns atributos, mas sempre com algo em comum, as duas sempre serão um Automovel.

A pergunta básica para verificar se a relação da classe A com a classe B e uma herança é simples, basta fazer a seguinte pergunta a si mesmo:
"A classe A é uma classe B."

Exemplo:
              Um carro antigo é um automovel ? SIM - Logo pode usar Herança.
              Uma casa é um automovel ? NÃO - Logo não se pode usar Herança.


Composição - "Composição acontece quando uma classes está contida em outra".

Exemplo de Composição


De maneira simples a composição é bem mais simples de enteder que a Herança, na composição sempre se usa a seguinte pergunta:

A classe A está tem a classe B.

Exemplo:
 Neste exemplo livro e autor são duas classes distintas;

               Um livro tem autor ?  - SIM - Logo se usar a composição.
          Um Automovel tem carroAntigo ? - NÂO - Logo não se usa a composição
               Um Automovel tem porta ? - SIM - Logo pode se usar a composição.
   

terça-feira, 15 de fevereiro de 2011

Boas praticas de programação



Uma maneira de facilitar bastante a vida de um iniciante na programação é seguir boas praticas de programação.
Abaixo cito algumas que podem melhorar em muito a vida de um futuro programador programador.

1º Nomes que façam sentido

Sempre dê nomes que façam sentido para suas classes, métodos e váriaveis.
Se uma classe  faz referencia a informações de um cliente de um nome descente a mesma como por exemplo "Cliente".
Caso sua variavel expresse uma idade não seja preguisoso de o nome de "idade" ao invés de id, deixe o nome fazer sentido ficará mais facil a leitura do seu algoritmo e sua manutenção.


2º Substantivos e verbos nos nomes

Se você for nomear uma classes utilize de preferência nomes em substantivos, salvo se esta classe realizer realmente uma ação.
Exemplos:


cliente, professor, usuario...


Já com os nomes dos métodos tente utilizar sempre nomes em verbo como por exemplo:

getNome, obterNome, extrairIp, calcularPi...etc




3º Letras iniciais dos nomes

Sempre que falamos de nome de classes a primera letra de seu nome tende a ser uma lentra maiúscula.

Exemplo:

Cliente, Vendedor, Computador, Carro...

Quando fazemos referência a nomes de variáveis e métodos tendemos a iniciar o nome dos mesmos com letras minusculas. 

Exemplo nomes váriveis

nome, idade, rg...:

Exemplo nome de métodos:

getNome, getIdade, obterIdade, calcularCreditos