A Guanabara... ta sendo show acompanhar as suas videos aulas... não tenho palavras para lhe parabenizar.. assim q entrar um atributo $$$ na minha classe carteira estarei contribuindo no apoio la... kkkkkkk parabens
8 ปีที่แล้ว +20
8:26 Esse "doente mental" acho que não era pra ficar na edição. kkkkkkkk. Esse Guanabara faz a gente aprender rindo.
Vlw Professor por estar encerrando o ano de todos os gafanhotos com esse curso que so veio pra somar, espero firme e forte por um curso de php avançado ,obtendo a formaçao CURSO EM VIDEO GUSTAVO GUANABARA rs e com direito a certificado com quadrinho na parede.
PHP mesmo na versão 8 ainda não possui polimorfismo via sobrecarga. Embora eu considere o recurso muito bacana e prático, eu acho que o PHP não perde nada em não possui-lo, afinal isso força o programador a seguir soluções como a do Guanabara, que são bem mais explícitas e indicam melhor sua intenção com aquele método respeitando os princípios do clean code, melhorando a legibilidade do código e te obrigando a pensar se as responsabilidades estão bem distribuidas na sua classe, afinal nomes gigantes podem ser indicativos que seu método faz coisas demais.
Também já pensei nisso.Mas como PHP não exige declaração de tipo de dado ficaria complicado implementar sobrecarga.Por exemplo, em java: public Double meuMetodo(double valor){ \\código}; public Double meuMetodo(int valor){\\código}.Em PHP ambos seriam o mesmo: public function minhaFuncao($valor){\\código}
Professor Guanabara, tenho uma dica, ao invés de renomear os métodos, criar um método com os parâmetros recebendo null por padrão. Ex: public function ($parametro = null) {}
Quando adicionei o método emitirSom nas classes Lobo e Cachorro apareceu no meu código "parent::emitirSom();", dentro da função, acredito que seja algo implementado na nova versão da linguagem, alguém pode explicar?
Acho que o slide está errado onde diz: 'Classe Cachorro estende Lobo'.. Na verdade, acredito que queria botar: 'Classe Cachorro estende Mamífero'... abraço!!!
Fala Gabriel esta correto o slide.. pois a classe cachorro é uma classe filha q vem do lobo e o lobo tbm é classe filha q vem de mamifero, e assim a classe cachorro recebe herança da classe mãe do mamífero... Nao sei se expliquei certinho mas eh por ai...
Andre Eu .. mt bem observado... Porém, fazendo isso, o cachorro seria um filho do lobo, oq nao é vdd.. cachorro e lobo sao especies distintas... ambos sao mamíferos, logo, sao irmãos e nao um filho do outro... logo, cada um teria q estender mamifero p fikr uma árvore coerente, não acha? ... ;D
Gabriel Telles No passado o cachorro maio q "nasceu" qnd o homem começou uma relação de mutualismo como lobo, q dava proteção ao homem, e assim o homem fornecia comida ao lobo, portanto o cachorro domesticado como conhecemos (Canis familiarizado) é um "descendente" do lobo
A Guanabara... ta sendo show acompanhar as suas videos aulas... não tenho palavras para lhe parabenizar.. assim q entrar um atributo $$$ na minha classe carteira estarei contribuindo no apoio la... kkkkkkk parabens
8:26 Esse "doente mental" acho que não era pra ficar na edição. kkkkkkkk. Esse Guanabara faz a gente aprender rindo.
Vlw Professor por estar encerrando o ano de todos os gafanhotos com esse curso que so veio pra somar, espero firme e forte por um curso de php avançado ,obtendo a formaçao CURSO EM VIDEO GUSTAVO GUANABARA rs e com direito a certificado com quadrinho na parede.
Melhor que curso pago!!
Agooora que percebi que o Guanabara estava usando a blusa com a cor para a aula! Que incrível, não escapa um detalhe!
Famosa Gambiarra!
sempre faça POO nunca faça POG kkkkkkkkkk grande mestre guanabara obg pelo curso!
Melhor curso de POO!
Mais uma aula
Com o PHP 7 mudou alguma coisa refente à sobrecarga ou parmanece tudo do mesmo jeito? Tendo que renomear os métodos?
por acaso ja sabe a resposta??
PHP mesmo na versão 8 ainda não possui polimorfismo via sobrecarga. Embora eu considere o recurso muito bacana e prático, eu acho que o PHP não perde nada em não possui-lo, afinal isso força o programador a seguir soluções como a do Guanabara, que são bem mais explícitas e indicam melhor sua intenção com aquele método respeitando os princípios do clean code, melhorando a legibilidade do código e te obrigando a pensar se as responsabilidades estão bem distribuidas na sua classe, afinal nomes gigantes podem ser indicativos que seu método faz coisas demais.
show demais
Obrigado Guanabara, vamos esperar a nova aula!
Só nessa aula que percebi que a cor da camisa dele está relacionada com o tipo de aula (teórica ou prática)
kkkkkkkkkkkkk
Perfeito
profº Guanabara o php permite usar o 'func_get_args()',fale um pouco sobre ele se puder, obrigado
Guanabara, quem não aprende programação com você dificilmente vai aprender! Aulas muito boas!
fantastic unbelivable
Só compartilhar a solução que desenvolvi antes de assistir a aula, criei um estrutura de decisão com múltiplos níveis:
public function reagir($nivel, $pam1 = null, $pam2 = null, $pam3 = null){
switch($nivel){
case 1:
if($pam1 == "Olá" || $pam1 = "Toma Comida"){
echo "Abanar rabo";
} else {
echo "Rosnar";
}
break;
case 2:
if($pam1 = 18){
echo "Ignorar";
} else {
echo "Abanar e latir";
}
break;
case 3:
if($pam1 == true){
echo "Abanar";
} else {
echo "rosnar";
}
break;
case 4:
if($pam1 < 5){
if($pam2 < 10){
echo "Abanar";
} else {
echo "latir";
}
} else {
if($pam2 < 10){
echo "Rosnar";
} else {
echo "Ignorar";
}
}
break;
}
}
No PHP 7 dá para fazer sobrecarga? Porque agr tem como tipar as variáveis.
é uma simulação de sobrecarga
só eu que percebi que no código que aparece do lado em 13:54 o senao do ultimo metodo está escrito sendo?
Se o PHP é open source não é possível implementar a sobrecarga?
queria saber também? #guanabararesponde
Também já pensei nisso.Mas como PHP não exige declaração de tipo de dado ficaria complicado implementar sobrecarga.Por exemplo, em java: public Double meuMetodo(double valor){ \\código}; public Double meuMetodo(int valor){\\código}.Em PHP ambos seriam o mesmo: public function minhaFuncao($valor){\\código}
Bom dia galera, com o PHP7 acredito que já conseguimos.
@@mastercheetos4422 não
O nome dessa técnica é " método Guanabara"
Professor Guanabara, tenho uma dica, ao invés de renomear os métodos, criar um método com os parâmetros recebendo null por padrão.
Ex:
public function ($parametro = null) {}
sério q isso funciona?
Se for pra sobrecarga, dá no mesmo, PHP não suporta criação de funções com o mesmo nome dentro da mesma classe, mesmo com a assinatura diferente.
eu tava pesquisando sobrecarga em PHP, achei uma parada interessante o __Call. na documentação do php.net
Nuevo versión PHP7 usa overload ?
Quando adicionei o método emitirSom nas classes Lobo e Cachorro apareceu no meu código "parent::emitirSom();", dentro da função, acredito que seja algo implementado na nova versão da linguagem, alguém pode explicar?
voce colocou fase
First - By HeisenbergBr'
Maratona de POO no carnaval..
Acho que o slide está errado onde diz: 'Classe Cachorro estende Lobo'..
Na verdade, acredito que queria botar: 'Classe Cachorro estende Mamífero'...
abraço!!!
Fala Gabriel esta correto o slide.. pois a classe cachorro é uma classe filha q vem do lobo e o lobo tbm é classe filha q vem de mamifero, e assim a classe cachorro recebe herança da classe mãe do mamífero...
Nao sei se expliquei certinho mas eh por ai...
Andre Eu .. mt bem observado... Porém, fazendo isso, o cachorro seria um filho do lobo, oq nao é vdd.. cachorro e lobo sao especies distintas... ambos sao mamíferos, logo, sao irmãos e nao um filho do outro... logo, cada um teria q estender mamifero p fikr uma árvore coerente, não acha? ... ;D
Gabriel Telles No passado o cachorro maio q "nasceu" qnd o homem começou uma relação de mutualismo como lobo, q dava proteção ao homem, e assim o homem fornecia comida ao lobo, portanto o cachorro domesticado como conhecemos (Canis familiarizado) é um "descendente" do lobo
foi mal, Canis familiaris*
ta aí que eu n sabia desse detalhe.. sendo assim, td bem.. hehe
first
public function reagir($variable)
{
switch ($variable) {
case gettype($variable) == 'string':
if ($variable == "Ola" || $variable == "Toma comida") {
echo "Abanar e latir";
} else {
echo "Rosnar";
}
break;
case gettype($variable) == 'integer':
if ($variable < 12) {
echo "Abanar";
} else if ($variable >= 18) {
echo "Ignorar";
} else {
echo "Abanar e Latir";
}
break;
case gettype($variable) == 'boolean':
if ($variable) {
echo "Abanar";
} else {
echo "Rosnar e latir";
}
break;
}
}
tai uma gambiarra pra resolver o problema da sobrecarga
Aquele momento triste que você descobre que o PHP não suporta polimorfismo de sobrecarga. >>>>>> =(