Anda di halaman 1dari 4

(http://www.linuxhispano.

net)

(http://www.linuxhispano.net)
INICIO

TIRA

PODCAST

(HTTP://WWW.LINUXHISPANO.NET/)
TUTORIALES

(HTTP://WWW.LINUXHISPANO.NET/TIRALH/)
CURSOS

(HTTP://WWW.LINUXHISPANO.NET/PODCAST/)
COLABORA

(HTTP://WWW.LINUXHISPANO.NET/TUTORIALES/)

(HTTP://WWW.LINUXHISPANO.NET/CURSOS/)

(HTTP://WWW.LINUXHISPANO.NET/COLABORA/)

Cursos PHP orientado a objetos Crear una


clase (atributos y propiedades)

PUBLICIDAD

PELICULA CINE

Escrito por F. Javier Carazo Gil (http://www.linuxhispano.net/author/carazo/) 14th junio 2011 in Tutoriales
(http://www.linuxhispano.net/seccion/tutoriales/) con 4 comentarios comentarios
(http://www.linuxhispano.net/2011/06/14/cursos-php-orientado-a-objetos-crear-una-clase-atributos-ypropiedades/#comments)

rpp.com.pe

Actualidad del Cine Nacional e


Internacional. Cartelera y
ms!

Lo primero que haremos ser declarar la clase con sus atributos en PHP. La operacin es muy similar
a la declaracin de un struct (http://en.wikipedia.org/wiki/Struct) en C
(http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)) o de otro elemento similar en
otro lenguaje.
CONTACTA

Comenzaremos definiendo los atributos. Delante de cada uno indicamos el tipo de atributo del que se
trata (pblico, privado o protegido). Si no indicamos nada, el atributo ser considerado pblico
(adems, es posible que nos lance algn tipo de advertencia el intrprete de PHP).
Qu es eso de pblico, privado y protegido?
Pblico (public): Se puede acceder desde fuera de la clase.

SGUENOS EN

Privado (private): Slo se puede acceder desde dentro de la clase.


Protegido (protected): Se puede accede desde dentro de la clase y desde clases herederas.
Como ste es un artculo de introduccin a la programacin orientada a objetos con PHP no voy a
centrarme demasiado en definir estos trminos, ni otros relacionados como la herencia
(http://es.wikipedia.org/wiki/Herencia_(inform%C3%A1tica)) o el polimorfismo
(http://es.wikipedia.org/wiki/Polimorfismo_(inform%C3%A1tica)).

(https://twitter.com/#!/linuxhispano)

Pasemos a implementar ya la creacin de nuestra clase usuario siguiendo el diseo propuesto en el


punto anterior.
class Usuario{
private
private
private
private
}

(http://www.facebook.com/LinuxHispano)
$id;
$nombre;
$apellidos;
$codigoPostal;

PATROCINADOR

Pero si son privados, cmo accedemos a los atributos? La solucin es crear mtodos, funciones
propias de la clase, pblica que accedan al atributo.
Qu ventajas tenemos con esta metodologa? Aunque en este caso el acceso va a ser directo, en casos
donde haya que realizar una comprobacin, nos aseguramos que los objetos de la clase siempre
tienen datos vlidos, adems de ocultar la implementacin interna de la clase, creando una caja
negra mucho ms til en grandes proyectos. Por ejemplo, un mtodo setNIF en el que antes de
igualar el atributo al valor enviado por el usuario, se compruebe si la letra del NIF es vlida, y en
caso de no serlo, no se almacene el nuevo valor.
Veamos la implementacin de esos mtodos dentro de la clase.

(http://www.sitioshispanos.com/seguimiento/2/acceso.html)

Suscrbete al blog por correo electrnico

Introduce tu correo electrnico para suscribirte a este blog


y recibir notificaciones de nuevas entradas.
nete a otros 45 suscriptores

Direccin de email
SUSCRIBIR

Lo ms compartido el ltimo mes

Metodos para eliminar ficheros y directorios


(http://www.linuxhispano.net/2014/09/10/metodos-paraeliminar-ficheros-y-directorios/)

21

52

Bash (http://www.linuxhispano.net/2014/09/30/bash/)

21

11

Instalacin de PostGIS para PostgreSQL


(http://www.linuxhispano.net/2014/09/22/instalacion-depostgis-para-postgresql/)

23

Cmo crear una tabla con datos geoespaciales en Postgis y


PostgreSQL
(http://www.linuxhispano.net/2014/10/01/como-crear-unatabla-con-datos-geoespaciales-en-postgis-y-postgresql/)

25

iWatch (http://www.linuxhispano.net/2014/09/16/iwatch/)

14

13

ltimos comentarios
People
function getId(){
return $this->id;
}

Recent
Popular

Recent Comments

function setId($id){
$this->id = $id;
}
function getNombre(){
return $this->nombre;
}
function setNombre($nombre){
$this->nombre = $nombre;
}

invitado_colombiano
sabes to, eres bueno en esto gracias..
Sumar y restar fechas con MySQL
(http://www.linuxhispano.net/2010/07/06/suma-y-resta-defechas-con-mysql/) 1 day ago
(http://www.linuxhispano.net/2010/07/06/suma-y-resta-defechas-con-mysql/#comment-1627831962)

function getApellidos(){
return $this->apellidos;

Geraldine Arzate
aptitude install sudo
No se pudo abrir el fichero de bloqueo /var/lib/dpkg/lock
(http://www.linuxhispano.net/2012/08/28/no-se-pudo-abrirel-fichero-de-bloqueo-varlibdpkglock/) 1 day ago
(http://www.linuxhispano.net/2012/08/28/no-se-pudo-abrirel-fichero-de-bloqueo-varlibdpkglock/#comment1627619849)

}
function setApellidos($apellidos){
$this->apellidos = $apellidos;
}
function getCodigoPostal(){
return $this->codigoPostal;
}
function setCodigoPostal($codigoPostal){
$this->codigoPostal = $codigoPostal;
}
Qu significa $this? $this es la variable que hace referencia a la instancia actual del objeto. En
todos los lenguajes con orientacin a objetos existe una variable, que hace referencia al objeto con el
que se est trabajando. Si nunca habis trabajado con este paradigma, lo entenderis mejor con los
ejemplos que desarrollaremos a continuacin.

(http://disqus.com/geovannymorillo/)
Geovanny Morillo (http://disqus.com/geovannymorillo/)
fantstico tiene una curva de aprendizaje rapida
Phaser, un motor JavaScript para videojuegos
(http://www.linuxhispano.net/2014/10/02/phaser-motorjavascript-videojuegos/) 5 days ago
(http://www.linuxhispano.net/2014/10/02/phaser-motorjavascript-videojuegos/#comment-1621302650)

El siguiente paso es la creacin del constructor


(http://es.wikipedia.org/wiki/Constructor_(inform%C3%A1tica)) de la clase. Puesto queLEER
la clase
ENTRADA ANTERIOR

representa a objetos que se instancia y por lo tanto se crean en memoria, tenemos que tener alguna
(http://www.linuxhispano.net/2011/06/14/estimacion/)
manera de crearlos para poder trabajar con ellos. El mtodo para crearlos es el constructor.
Veremos como implementarlo en la siguiente entrega.

Estimacin
(http://www.linuxhispano.net/2011/06/14/estimacion/)

Comprtelo:
Twitter 4 (http://www.linuxhispano.net/2011/06/14/cursos-php-orientado-a-objetos-crear-una-claseatributos-y-propiedades/?share=twitter&nb=1)
Facebook 3 (http://www.linuxhispano.net/2011/06/14/cursos-php-orientado-a-objetos-crear-unaclase-atributos-y-propiedades/?share=facebook&nb=1)
LinkedIn (http://www.linuxhispano.net/2011/06/14/cursos-php-orientado-a-objetos-crear-una-clase-

(http://disqus.com/inmaculada_maldonado/) Inmaculada
Maldonado (http://disqus.com/inmaculada_maldonado/)
S, esta tabla de spatial_ref_sys la crea automticamente al
hacer la base de tipo espacial. Es una nueva entrada que
tengo que pensada hacer, en la que explicar un poco para
qu sirve y las...
Cmo crear una bbdd espacial en PostgreSQL desde
PgAdmin (http://www.linuxhispano.net/2014/09/26/comocrear-una-bbdd-espacial-en-postgresql-desde-pgadmin/) 1
week ago (http://www.linuxhispano.net/2014/09/26/comocrear-una-bbdd-espacial-en-postgresql-desdepgadmin/#comment-1616653978)

atributos-y-propiedades/?share=linkedin&nb=1)
Correo electrnico (http://www.linuxhispano.net/2011/06/14/cursos-php-orientado-a-objetos-crear-unaclase-atributos-y-propiedades/?share=email&nb=1)
Imprimir (http://www.linuxhispano.net/2011/06/14/cursos-php-orientado-a-objetos-crear-una-claseatributos-y-propiedades/#print)
Entradas relacionadas:
1. Curso PHP orientado a objetos Introduccin (http://www.linuxhispano.net/2011/06/11/phporientado-a-objetos-introduccion/)
2. Curso C# con Mono Declaracin de clases y estructuras
(http://www.linuxhispano.net/2010/12/04/curso-c-con-mono-%e2%80%93-declaracion-de-clases-yestructuras/)
3. Crear una pgina en blanco con HTML5 (http://www.linuxhispano.net/2010/07/28/crea-tuprimera-pagina-html/)
4. Curso C# con Mono Variables y constantes (http://www.linuxhispano.net/2010/11/02/curso-ccon-mono-%e2%80%93-variables-y-constantes/)
5. Clase 2.0 (http://www.linuxhispano.net/2009/12/08/clase-2-0/)

(http://disqus.com/inmaculada_maldonado/) Inmaculada
Maldonado (http://disqus.com/inmaculada_maldonado/)
Buenas! pues las tablas no siguen ningn tipo de estndar,
ms bien son los datos que definimos de tipo espacial
dentro de ellas, estos s que siguen un estndar que
explicar en mi prxima...
Cmo crear una tabla con datos geoespaciales en Postgis y
PostgreSQL
(http://www.linuxhispano.net/2014/10/01/como-crear-unatabla-con-datos-geoespaciales-en-postgis-y-postgresql/) 1
week ago (http://www.linuxhispano.net/2014/10/01/comocrear-una-tabla-con-datos-geoespaciales-en-postgis-ypostgresql/#comment-1616621745)
(http://disqus.com)
BLOGROLL

AlexZelder (http://alexzelder.wordpress.com/)
Asociacin Linux Espaol (http://www.linux.es/)
AUTHOR DESCRIPTION

AndroCode (http://androcode.es/)
Asociacin Linux Espaol (http://www.linux.es/)

F. JAVIER CARAZO GIL


Casi Ingeniero Informtico, co-fundador y administrador de Linux
Hispano (../../author/carazo/), adems de desarrollar software y
mantener sistemas en el CSIC, hace poco he fundado junto con Alberto
Hornero (https://twitter.com/ahornero) una start-up: CODECTION

Casidiablo (http://www.casidiablo.net/)
Dasubipar (http://dasubipar.blogspot.com/)

(http://www.codection.com) donde trabajamos con software libre.


Dejo Windows (http://www.dejowindows.cu.cc/)

Puedes saber ms sobre m, mi vida laboral, mis libros, mis artculos y


mi da a da en @fjcarazo (http://twitter.com/#!/fjcarazo) y en mi perfil
pblico de LinkedIn (http://www.linkedin.com/in/carazo).

El blog de Marvin y familia


(http://marvinyfamilia.com/)
Espacio Linux (http://www.espaciolinux.com/)
FoTux (http://fotux.es/)

3 Comentarios

Linux Hispano

Acceder

Compartir Favorito

Ordenar por los mejores

Geeks & Linux Atelier!


(http://www.glatelier.org/)
humanOS (http://humanos.uci.cu/)

nete a la discusin...
Juanlu Prez (http://www.juanluperez.com/)

Alvarez

hace un ao

KDE Blog (http://www.kdeblog.com/)

hola quisiera saber si desde php puedo acceder a alguna caracteristica del
sistema ?

Manuel Ignacio Lpez Quintero

(http://miloq.blogspot.com/)

Responder Compartir

hace un ao

Linux CD (http://www.linux-cd.com.ar/)

S claro, lo que pasa es que como PHP ejecuta en un intrprete, que


suele llamar el sevidor web, por motivos de seguridad suele no dar
muchas opciones en ese sentido.

Linuxiso (http://www.linuxiso.com.ar/)

F. Javier Carazo Gil > Alvarez

Lopst (http://www.lopst.com/)

Mira esta funcin por ejemplo: http://php.net/manual/es/funct...

Responder Compartir

No solo Unix (http://www.nosolounix.com/)


Obux (http://obux.wordpress.com/)

javier parra

hace 3 aos

Muy buen articulo,

Obux (http://obux.wordpress.com/)
OmeyasWeb (http://www.omeyasweb.com/)

gracias
Pllateunlinux

Salue2

(http://pillateunlinux.wordpress.com/)
Responder Compartir

Pinginos y Ca (http://www.pinguinosycia.com)
Rincn informtico
(http://www.rinconinformatico.net/)
Twago Blog (http://www.twago.com/es/blog/)
Ubunlog (http://ubunlog.com.ar/blog/)
Ubuntips (http://www.ubuntips.com.ar/)
Ubuntizando el planeta
(http://www.ubuntizandoelplaneta.com/)
Usemos Linux
(http://usemoslinux.blogspot.com/)

ETIQUETAS

android
(http://www.linuxhispano.net/etiqueta/android/)
apache (http://www.linuxhispano.net/etiqueta/apache/)

c (http://www.linuxhispano.net/etiqueta/c/)
chrome (http://www.linuxhispano.net/etiqueta/chrome/)

comic
(http://www.linuxhispano.net/etiqueta/comic/)
consola
(http://www.linuxhispano.net/etiqueta/consola/)

curso
(http://www.linuxhispano.net/etiqueta/curso/)
debian
(http://www.linuxhispano.net/etiqueta/debian/)
gmail (http://www.linuxhispano.net/etiqueta/gmail/)
gnome (http://www.linuxhispano.net/etiqueta/gnome/)

google
(http://www.linuxhispano.net/etiqueta/google/)
gratis (http://www.linuxhispano.net/etiqueta/gratis/)
html (http://www.linuxhispano.net/etiqueta/html/)

humor
(http://www.linuxhispano.net/etiqueta/humor/)
imagen (http://www.linuxhispano.net/etiqueta/imagen/)

instalar
(http://www.linuxhispano.net/etiqueta/instalar/)
java (http://www.linuxhispano.net/etiqueta/java/)

javascript
(http://www.linuxhispano.net/etiqueta/javascript/)
libre
(http://www.linuxhispano.net/etiqueta/libre/)

linux+
(http://www.linuxhispano.net/etiqueta/linux/)
lo mejor
(http://www.linuxhispano.net/etiqueta/lomejor/)
lo mejor de mi timeline
(http://www.linuxhispano.net/etiqueta/lomejor-de-mi-timeline/)
mono (http://www.linuxhispano.net/etiqueta/mono/)

mysql
(http://www.linuxhispano.net/etiqueta/mysql/)
open source
(http://www.linuxhispano.net/etiqueta/open-source/)

pdf
(http://www.linuxhispano.net/etiqueta/pdf/)

php
(http://www.linuxhispano.net/etiqueta/php/)
plugin (http://www.linuxhispano.net/etiqueta/plugin/)

programacin
(http://www.linuxhispano.net/etiqueta/programacion/)
revista
(http://www.linuxhispano.net/etiqueta/revista/)

rss
(http://www.linuxhispano.net/etiqueta/rss/)
seguridad
(http://www.linuxhispano.net/etiqueta/seguridad/)

semanal
(http://www.linuxhispano.net/etiqueta/semanal/)
servidor
(http://www.linuxhispano.net/etiqueta/servidor/)

software libre

software libre
(http://www.linuxhispano.net/etiqueta/softwarelibre/)
terminal
(http://www.linuxhispano.net/etiqueta/terminal/)

timeline
(http://www.linuxhispano.net/etiqueta/timeline/)

Tira
(http://www.linuxhispano.net/etiqueta/tira/)
top
(http://www.linuxhispano.net/etiqueta/top/)
tutorial
(http://www.linuxhispano.net/etiqueta/tutorial/)

twitter
(http://www.linuxhispano.net/etiqueta/twitter/)

ubuntu
(http://www.linuxhispano.net/etiqueta/ubuntu/)
web
(http://www.linuxhispano.net/etiqueta/web/)
windows
(http://www.linuxhispano.net/etiqueta/windows/)

wordpress
(http://www.linuxhispano.net/etiqueta/wordpress/)
ARCHIVO

Elige un mes

FEEDBURNER

General

(http://feeds.feedburner.com/Linuxhispano)

La Tira

(http://feeds.feedburner.com/TiraLinuxhispano)

El Podcast

(http://feeds.feedburner.com/ElPodcastDeLinuxHispano)

Anda mungkin juga menyukai