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

Consulta simple sobre clases

Estas en el tema de Consulta simple sobre clases en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola. voy directo al grano con la consulta: supongamos q tengo una clase denominada class Coche { // supongamos q esta clase tiene 10 atributos ...
  #1 (permalink)  
Antiguo 10/03/2010, 23:14
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Consulta simple sobre clases

Hola. voy directo al grano con la consulta: supongamos q tengo una clase denominada

class Coche {
// supongamos q esta clase tiene 10 atributos
int $a = 20; int $b = 10; int $c = 30; // .... y 7 mas

// tiene su constructor
function __construct() {

}
// y supongamos q tiene 20 metodos definidos
// los cuales los dejo imaginarios
}

La consulta es esta: desde una parte de la pagina tengo q crear una instancia de esta clase, y luego de crear esa instancia hago uso de muchos metodos, supongamos los 20.
Pero que pasa si desde otra parte de la pagina tengo q crear tambien una instancia de esa clase, pero uso solo nose 4, 5 metodos, los demas 15 no.
Se puede al instanciar la clase evitar q esos 15 restantes metodos q no voy a usar se carguen??? osea nose si esto se podra hacer para reducir el tiempo de asignacion de $clase = new Coche(); digamos... espero se entienda eso nomas.
  #2 (permalink)  
Antiguo 11/03/2010, 00:34
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Consulta simple sobre clases

Directo y al grano: No.


Estás cometiendo el error de pensar en términos de clases y de interpretarla como un contenedor de funciones. Debes pensar en objetos y las responsabilidades que tendrán.

... sin mencionar el hecho de que buscar esa optimización es un tanto absurda. No debería haber diferencia alguna, al instanciar solo se hace referencia a un objeto, no tiene por que "interpretar" los métodos hasta que son invocados. Si acaso habrá alguna diferencia por la carga de líneas de códigos, pero salvo esa diferencia sea por cientos/miles de líneas, debería ser despreciable. Si en es el caso, ¡¡lo estás haciendo mal!!.


PD: La declaración de los atributos es errónea.
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 11/03/2010, 09:18
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Consulta simple sobre clases

Totalmente errado.

puedes crear una clase con los 5 o 6 atributos que vayas a usar, luego heredas (extends) otra clase agregandole las funciones requeridas. Pero IMPORTANTISIMO: piensa como objetos de la vida real, no lo estas haciendo
  #4 (permalink)  
Antiguo 11/03/2010, 10:23
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 10 meses
Puntos: 24
Respuesta: Consulta simple sobre clases

Cita:
Iniciado por dantrix Ver Mensaje
puedes crear una clase con los 5 o 6 atributos que vayas a usar, luego heredas (extends) otra clase agregandole las funciones requeridas. Pero IMPORTANTISIMO: piensa como objetos de la vida real, no lo estas haciendo
Es lo que iba a decir. Y agrego otra cosa: No declares en PHP el tipo de variable de esa forma:
Código PHP:
int $a 20
  #5 (permalink)  
Antiguo 15/03/2010, 18:14
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Consulta simple sobre clases

Que tal Fernarey,

Como te comentan los colegas, no es así cómo trabaja PHP. En sí, independientemente si hablamos de clases o programación estructurada, si incluyes los fuentes con un require / include, PHP los "concatena" como si fuera un único archivo y luego lo ejecuta, por lo que en los hechos no existe forma de que no los incluya o incluya parcialmente.

De todas formas, PHP es muy óptimo para este tipo de procesamiento, pero si quieres probarlo, puedes generar distintas versiones de clases y verás que no notarás cambios medibles. Generamente el "cuello de botella" lo vamos a tener en el acceso a disco, y en la mayoría de los casos vamos a estar hablando de base de datos. Si tus clases levantan constantemente información de la base de datos, ahí será más razonable poner el foco en la revisión de los recursos... pero "optimización extrema", cambiar la forma de codificar, o usar un for por un foreach, etc, es una pérdida de tiempo en el 99% de los casos.

Saludos!
__________________
Blog phpsenior.com Cursos a Distancia surforce.com

Etiquetas: clases, simple
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 04:24.