Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problema con protected

Estas en el tema de Problema con protected en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estimados: Tengo el siguiente problema: Tengo una clase definida (sup class A), y otra que hereda de esta (sup class B). Con los metodos todo ...
  #1 (permalink)  
Antiguo 01/09/2009, 09:57
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema con protected

Estimados:

Tengo el siguiente problema:

Tengo una clase definida (sup class A), y otra que hereda de esta (sup class B). Con los metodos todo perfecto, me los hereda bien, el constructor tambien, etc, etc. Hasta aca todo perfecto.

class B extends A { bla bla }

Ahora tengo que acceder a los atributos de A desde B, por ende, voy a cambiar la visibilidad de los atributos en A y los pongo como protected, y acá aparece el problema. Lo primero raro, que el editor no me resalta la palabra protected (hasta busque un ejemplo y la copie igual para ver que no la esté tipeando mal :P ) y obviamente no anda.

Tengo la version de php 5.2.9-4. Cual puede ser el problema? con public y private anda bien, y el editor me los resalta y todo. Me imagino que debe ser por alguna configuracion de php o version.

Inserto una imagen para que vean :

maeguaras.com.ar/protected.jpg

Última edición por jam1138; 01/09/2009 a las 12:50 Razón: Simplifico URL ...
  #2 (permalink)  
Antiguo 01/09/2009, 10:02
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años, 1 mes
Puntos: 69
Respuesta: Problema con protected

Esto es un problema de tu editor de texto, no te php.
Con cualquier editor de los que uso yo, resalta bien la palabra "protected" y el scope funciona sin problemas.

Deberían moverlo a ... "PHP"? "EDitores de Texto"? :P
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #3 (permalink)  
Antiguo 01/09/2009, 10:12
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema con protected

No es problema del editor de texto, puse eso como curiosidad, pero el tema, es que tengo:

class A {

protected $nombre;

}

Class B extends A {

function ver() {
return $this->nombre;
}

}

No me anda el $this->nombre, lo del editor era solo una curiosidad.
  #4 (permalink)  
Antiguo 01/09/2009, 10:51
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 4 meses
Puntos: 139
Respuesta: Problema con protected

Intenta de esta forma.

Código PHP:
Ver original
  1. class A {
  2. protected $nombre = "Miguel";
  3. }
  4.  
  5.  
  6. class B extends A {
  7.  
  8. function ver() {
  9. return $this->nombre;
  10. }
  11.  
  12. }
  13.  
  14.  
  15. $n = new B();
  16.  
  17. echo $n->ver();
  #5 (permalink)  
Antiguo 01/09/2009, 11:11
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema con protected

Perfecto, anduvo con eso, ahora no se por que será necesario ya que el constructo toma los valores para los atributos del objeto, o uno por defecto tomado en el __construct.

Cha gracias a todos.

PD: ya agregue al editor para que me resalte protected :P
  #6 (permalink)  
Antiguo 02/09/2009, 22:16
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años, 7 meses
Puntos: 32
Respuesta: Problema con protected

Maeguaras, lamentablemente eres muy desprolijo y desordenado para hacer preguntas, por lo que tú mismo no te ayudas ni nos dejas ayudarte.

Inicias con "preguntas" que no son "preguntas", recién en el segundo intento haces la pregunta "concreta" pero que luego al darte un ejemplo "simple", sí te anda y luego lo cierras con algo que no se entiende.

Si no clarificas, no te podremos ayudar.

El protected no tiene nada que ver, de forma directa, con el constructor. Si algo te cambió es que no estás cargando los valores de forma correcta para que los atributos que accedes funcionen.

La pregunta final es... ¿cómo lo estás probando? ¿cual es el código real?

Fue una crítica constructiva.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:01.