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 |