Hola, tengo una duda... se pueden declarar una variable o metodo como publico o privado??
y si se declara como privado hay q usar metodos de geter/seter para obtener el valor o modificarlo??
gracias
| |||
metodos/atributos publicos/privados Hola, tengo una duda... se pueden declarar una variable o metodo como publico o privado?? y si se declara como privado hay q usar metodos de geter/seter para obtener el valor o modificarlo?? gracias |
| ||||
Lo de "getter/setter" es un tema de conceptos. Si tu colocas atributos privados, estos serán solo "vistos/accedidos/usados" dentro de la propia clase. Si tu quieres que puedan ser modificados desde fuera de la clase, debes crear métodos públicos que internamente "accedan" a los atributos, quedando estos "escondidos". Por un tema de "principios OO", los atributos deben ser siempre privados (encapsulación) y solo crear métodos que sustituyan las operaciones que eran posibles cuando eran "atributos públicos": un método "setter" para "setear un valor" y/o un método "getter" para "retornar un valor". Generalmente se usa la nomenclatura (si tu atributo es "nombre"): Código PHP: Pero atención, solo deberán existir los "get y set" necesarios, no siempre por cada atributo que disponga tu clase (para eso, deja todos los atributos públicos que es lo mismo ![]() Recalco, digo "nomenclatura", puesto que los nombres de los métodos pueden llamarse como quieras, pero si cumplen con ambas definiciones, todo funcionará. El tema es, por convención, se tiende a reconocer así a los métodos que solo sirven para "hacer operaciones básicas como si trabajáramos con atributos públicos", y que además, no deben tener más complejidad que esa (de lo contrario, ya serían métodos comunes y corrientes). Nota: sobre este tema, busca cualquier libro sobre Orientación a Objetos (o Java, Python, etc). Última edición por enriqueplace; 16/08/2006 a las 21:13 |