Jump to content

Babi182

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

0 Comum

About Babi182

  1. Babi182

    [DÚVIDA] - Polimorfismo em PHP

    Galera, acho q essa não era a área correta para minha dúvida. Por gentileza, moderadores, deletem meu post. Desculpem-me pelo inconveniente. Postei na área de dúvidas.
  2. Boa noite, colegas. Sou nova por aqui. Estou recorrendo ao fórum pois tenho duas questões da faculdade em que eu e um colega estamos divergindo nas respostas. Se possível, gostaria da opinião de vocês sobre o assunto. 1) Por princípio, objetos polimorfos são objetos semelhantes que atuam de forma diferente. Para implementar tal princípio, é necessário usar uma referência a um objeto do tipo da superclasse (ponteiro ou endereço) e, a partir daí, o sistema pode decidir sobre qual método deve ser selecionado na execução do objeto, de acordo com o tipo da classe derivada, durante a execução. Qual o principal recurso do PHP orientado a objetos utilizamos para implementar polimorfismo? Interface nomeDaClasse implements nomeDaClasse --> colega ficou com esta public, protected e private abstract class nomeDaClasse --> fiquei com esta resposta NomeDaClasse::metodo 2)A orientação a objetos no PHP permite a criação de classes com diversos recursos, como interfaces, implementações, abstrações e visibilidade. Um objeto passa a ser considerado objeto após ser instanciado em uma variável no PHP, com a utilização da sintaxe: $variável = new Classe(); por exemplo, ($carro = new Carro();). Porém, no PHP, é possível realizar uma chamada estática para um método ou propriedade de um objeto sem instanciá-lo. Qual das opções abaixo representa um exemplo de chamada estática do PHP para um método ou propriedade? $carro->propriedade; $carro->metodo(); --> fiquei com esta resposta carro->propriedade; Carro::propriedade; --> o colega com esta carro->metodo(); Sobre esta questão 2, encontramos no manual o seguinte: Exemplo #1 Exemplo de método estático <?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); // As of PHP 5.3.0 ?> Exemplo #2 Exemplo de propriedade estática <?php class Foo { public static $meu_estatico = 'foo'; public function valorEstatico() { return self::$meu_estatico; } } class Bar extends Foo { public function fooEstatico() { return parent::$meu_estatico; } } print Foo::$meu_estatico . "\n"; $foo = new Foo(); print $foo->valorEstatico() . "\n"; print $foo->$meu_estatico . "\n"; // "Propriedade" Indefinida $meu_estatico print $foo::$meu_estatico . "\n"; $classname = 'Foo'; print $classname::$meu_estatico . "\n"; // No PHP 5.3.0 print Bar::$meu_estatico . "\n"; $bar = new Bar(); print $bar->fooEstatico() . "\n"; ?> Galera imagino que devam ser questões tranquilas, ainda mais com o pouco q vi nos tópicos, mas somos novos com a linguagem. Desde já agradeço a atenção e disponibilidade dos colegas. Vlw!
  3. Babi182

    [DÚVIDA] - Polimorfismo em PHP

    Boa noite, colegas. Sou nova por aqui. Estou recorrendo ao fórum pois tenho duas questões da faculdade em que eu e um colega estamos divergindo nas respostas. Se possível, gostaria da opinião de vocês sobre o assunto. 1) Por princípio, objetos polimorfos são objetos semelhantes que atuam de forma diferente. Para implementar tal princípio, é necessário usar uma referência a um objeto do tipo da superclasse (ponteiro ou endereço) e, a partir daí, o sistema pode decidir sobre qual método deve ser selecionado na execução do objeto, de acordo com o tipo da classe derivada, durante a execução. Qual o principal recurso do PHP orientado a objetos utilizamos para implementar polimorfismo? Interface nomeDaClasse implements nomeDaClasse --> colega ficou com esta public, protected e private abstract class nomeDaClasse --> fiquei com esta resposta NomeDaClasse::metodo 2)A orientação a objetos no PHP permite a criação de classes com diversos recursos, como interfaces, implementações, abstrações e visibilidade. Um objeto passa a ser considerado objeto após ser instanciado em uma variável no PHP, com a utilização da sintaxe: $variável = new Classe(); por exemplo, ($carro = new Carro();). Porém, no PHP, é possível realizar uma chamada estática para um método ou propriedade de um objeto sem instanciá-lo. Qual das opções abaixo representa um exemplo de chamada estática do PHP para um método ou propriedade? $carro->propriedade; $carro->metodo(); --> fiquei com esta resposta carro->propriedade; Carro::propriedade; --> o colega com esta carro->metodo(); Sobre esta questão 2, encontramos no manual o seguinte: Exemplo #1 Exemplo de método estático <?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); // As of PHP 5.3.0 ?> Exemplo #2 Exemplo de propriedade estática <?php class Foo { public static $meu_estatico = 'foo'; public function valorEstatico() { return self::$meu_estatico; } } class Bar extends Foo { public function fooEstatico() { return parent::$meu_estatico; } } print Foo::$meu_estatico . "\n"; $foo = new Foo(); print $foo->valorEstatico() . "\n"; print $foo->$meu_estatico . "\n"; // "Propriedade" Indefinida $meu_estatico print $foo::$meu_estatico . "\n"; $classname = 'Foo'; print $classname::$meu_estatico . "\n"; // No PHP 5.3.0 print Bar::$meu_estatico . "\n"; $bar = new Bar(); print $bar->fooEstatico() . "\n"; ?> Galera imagino que devam ser questões tranquilas, ainda mais com o pouco q vi nos tópicos, mas somos novos com a linguagem. Desde já agradeço a atenção e disponibilidade dos colegas. Vlw!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.