Hola amigos, quiero hacer un test de evaluacion de conocimientos de php y me gustaria que me dierais su opinion al respecto o si alguna de las respuestas estan mal.
Test Teorico
1. Php es un lenguaje compilado o interpretado?
Interpretado
2. Que problema puede tener un lenguaje interpretado?
Por ejemplo no hay comprobacion de tipos cuando se llama a un mensaje.
3. Podria hacerme una relacion de herencia entre el objeto animal, perro y gato?
Esto Graficamente... es simple no pongo la respuesta.
4. Permite php la herencia multiple tal y como esta
No.
5. Permite php la implementacion de varias interfaces tal y como esto
Si
6. Podrias explicar brevemente los inconvenientes mas relevantes en la herencia multiple
Que cuando los dos padres de una clase tienen el mismo metodo no sabe cual debe coger, hay lenguajes que solucionan esto y otros como en el caso de php que impiden la herencia multiple.
7. Se habla de herencia estricta cuando no se admite la redefinicion de un metodo en el contexto de la clase heredada. Si por el contrario al heredar una clase es posible redefinir un metodo modificando su implementacion se llama herencia no estricta. Sabes si php permite la herencia estricta?
Si lo permite. usando la palabra final en uno de sus metodos del padre.
8. Define constantes comunes a todos los objetos de una clase?
class MyClass
{
const constant = 'valor constante';
}
9. Que diferencia hay entre const y static?
const es constante y no cambia de valor sin embargo, una varible static puede cambiar su valor entre llamada y llamada.
class A{
public static $VALOR=3;
}
10. Puede una propiedad definida como static ser accedida con un objeto de clase instanciado? Si se puede hazme el codigo.
usando un metodo estatico
10. como pudo modificar el valor de una varible statica?
usando un metodo estatico
11. Las clases que tipo de ambitos pueden tener?
public, private, abstract, protected
12. y los metodos que tipos de ambitos pueden tener?
Los mismos
13. Me puedes explicar las diferencias
public hereda el hijo
privado no se puede heredar
los metodos protected se heredan pero la clase heredada los hereda como privados.
14. Que es una clase abstracta?
Son clases en las que existen metodos sin implementar a los metodos cuya implementacion se desconoce si llama metodos abstractos.
15. Que es una interfaz?
Una clase sin ningun metodo implementado.