Vous êtes sur la page 1sur 9

Pegue aqu el

logo de su
institucin

Con cul de estos tres leguajes de programacion: (Python, Php


y Java) puedes programar mas facil, en POO
Wilser Stalyn Bados Carrillo
a
EP. Ingeniera Sistemas, Facultad de Ingeniera y Arquitectura, Universidad Peruana Unin

Resumen

La tecnologa se usa para desarrollar aplicaciones con un amplio alcance de entornos, desde dispositivos del consumidor hasta
sistemas empresariales heterogneos. En este artculo, obtenga una vista de alto nivel de la plataforma (JAVA, PHP y PYTHON)
y sus componentes con respecto a la Programacin orientadas a objetos, en la que los sistemas se modelan creando clases, que
son un conjunto de datos y funcionalidades. Las clases son definiciones, a partir de las que se crean objetos. Los objetos son
ejemplares de una clase determinada y como tal, disponen de los datos definidos en la clase, es un tema de gran inters, pues es
muy utilizada y cada vez resulta ms esencial para poder desarrollar en casi cualquier lenguaje moderno. Aunque es un tema
bastante amplio, novedoso para muchos y en un principio, difcil de asimilar, usted como receptor de esta informacin aprender
con cul de los tres lenguajes, se sentir ms cmodo programar y vera que tan fcil es dominarlo. En fin el lenguaje Java
comienza con paquetes. Un paquete es el mecanismo de espacio de nombres del lenguaje Java. Dentro de los paquetes se
encuentran las clases y dentro de las clases se encuentran mtodos, variables, constantes, entre otros. Vamos a tratar de explicar
la sintaxis bsica de PHP para utilizar objetos, sin meternos en mucha teora de programacin orientada a objetos en general.
Python es uno de los lenguajes de programacin multiparadigma, ms potente y que menor curva de aprendizaje demanda. Con
Python puedes crear tanto robustas aplicaciones de escritorio como Web, con muy pocas lneas de cdigo y en muy poco tiempo.
[ CITATION Per14 \l 3082 ]

The technology is used to develop applications with a wide range of environments, from consumer devices to heterogeneous
business systems. In this article, get a high-level view of the platform (JAVA, PHP and PYTHON) and its components with
respect to Object-Oriented Programming, in which systems are modeled by creating classes, which are a set of data and
functionalities. Classes are definitions, from which objects are created. Objects are examples of a specific class and as such, have
the data defined in the class, is a subject of great interest, it is widely used and increasingly essential to develop in almost any
modern language. Although it is a fairly broad topic, new for many and initially difficult to assimilate, you as a receiver of this
information will learn which of the three languages you will feel most comfortable programming and you will see how easy it is
to master it. In short, the Java language starts with packages. A package is the namespace mechanism of the Java language.
Within the packages are the classes and within the classes there are methods, variables, constants, among others. We will try to
explain the basic syntax of PHP to use objects, without getting into much theory of object-oriented programming in general.
Python is one of the multiparadigm programming languages, more powerful and with less learning curve demand. With Python
you can create both robust desktop applications and Web, with very few lines of code and in a very short time.

Palabras clave: (OOP), heritage, attributes.

1. Introduccin

Surge en Noruega en 1967 con un lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en el
centro de clculo noruego Simula 67 introdujo por primera vez los conceptos de clases, corrutinas y subclases (conceptos muy
similares a los lenguajes Orientados a Objetos de hoy en da), pues ahora se basa en herencias y atributas, etc. Donde es mucho
mas complejo pero no facil de comprender, solo es cuestion de practica y con esta introduccion tu decidiras con que lenguaje de
programacion aras tus codigos o programas que tengan que ver con (POO).[ CITATION Mig04 \l 3082 ]

El problema consista en cmo adaptar el software a nuevos requerimientos imposibles de haber sido planificados inicialmente.
Este alto grado de planificacin y previsin es contrario a la propia realidad.
En los 70s cientficos del centro de investigacin en Palo Alto Xerox (Xerox park) inventaron el lenguaje Small talk que dio
respuesta al problema y fue el primer lenguaje Orientado a Objetos puro.
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas

2. Desarrollo o Revisin

Cada lenguaje de programacin tiene una complejidad inmensa, pero para programadores con experiencia la complejidad ya es
menos, en este artculo los tres lenguajes de programacion son complejas pero vamos a ver cul de ellas es ms fcil de
dominarlo y trabajar muy bien la programacion orientado a objetos. Java es un derivado del lenguaje C, por lo que sus reglas de
sintaxis se parecen mucho a C: por ejemplo, los bloques de cdigos se modularizan en mtodos y se delimitan con llaves ({y}) y
las variables se declaran antes de que se usen.
Estructuralmente, el lenguaje Java comienza con paquetes. Un paquete es el mecanismo de espacio de nombres del lenguaje
Java. Dentro de los paquetes se encuentran las clases y dentro de las clases se encuentran mtodos, variables, constantes, entre
otros. En este, aprender acerca de las partes del lenguaje Java.

El compilador Java
Cuando usted programa para la plataforma Java, escribe el cdigo de origen en archivos .java y luego los compila. El compilador
verifica su cdigo con las reglas de sintaxis del lenguaje, luego escribe los cdigos byte en archivos .class. Los cdigos byte son
instrucciones estndar destinadas a ejecutarse en una Java Virtual Machine (JVM). Al agregar este nivel de abstraccin, el
compilador Java difiere de los otros compiladores de lenguaje, que escriben instrucciones apropiadas para el chipset de la CPU
en el que el programa se ejecutar.

Qu es un objeto?
Los lenguajes de programacin estructurada como C y COBOL siguen un paradigma de programacin muy diferente de los
orientados a objetos. El paradigma de programacin estructurada est altamente orientado a datos, lo cual significa que usted
tiene estructuras de datos por una parte y luego instrucciones del programa que actan sobre esos datos. Los lenguajes orientados
a objetos, como el lenguaje Java, combinan datos e instrucciones del programa en objetos.
Un objeto es una entidad independiente que contiene atributos y comportamientos y nada ms. En lugar de tener una estructura
de datos con campos (atributos) y pasar esa estructura a toda la lgica del programa que acta sobre ella (comportamiento), en un
lenguaje orientado a objetos, se combinan los datos y la lgica del programa. Esta combinacin puede ocurrir en niveles
completamente diferentes de granularidad, desde objetos especficos como un Number hasta objetos de aplicacin general como
un servicio de Funds Transfer en una gran aplicacin bancaria.

Objetos padre e hijo


Un objeto padre es aquel que sirve como la base estructural para derivar objetos hijos ms complejos. Un objeto hijo se parece a
su padre pero es ms especializado. El paradigma orientado a objetos le permite reutilizar los atributos y comportamientos
comunes del objeto padre y le agrega a sus objetos hijos atributos y comportamientos que difieren.

Comunicacin y coordinacin de objetos


Los objetos se comunican con otros objetos por medio del envo de mensajes (llamadas de mtodo en el lenguaje Java). Adems,
en una aplicacin orientada a objetos, el cdigo del programa coordina las actividades entre objetos para realizar tareas dentro del
contexto del dominio de aplicacin dado. (En el paradigma Modelo-Vista-Controlador, este cdigo de programa de coordinacin
es el Controlador.

Resumen del objeto


Un objeto bien escrito:
tiene lmites ntidos.
realiza un conjunto limitado de actividades.
conoce solo lo relacionado a sus datos y cualquier otro objeto que necesite para cumplir sus actividades.
Bsicamente, un objeto es una entidad diferenciada que tiene solo las dependencias necesarias de otros objetos para realizar sus
tareas.
Ahora ver cmo luce un objeto.

Atributos
Qu atributos puede tener una persona? Algunos atributos comunes incluyen:
Nombre
Edad
Altura
Peso
Color de ojos
Gnero

2
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas
Probablemente a usted se le pueden ocurrir ms (y siempre puede agregar ms atributos ms tarde) pero esta lista es un buen
comienzo.

Comportamiento
Una persona real puede hacer todo tipo de actividades pero los comportamientos de los objetos normalmente se relacionan con
algn tipo de contexto de aplicacin. En un contexto de aplicacin de negocio, por ejemplo, puede querer preguntarle a su
objeto Person: "Qu edad tiene?" Como respuesta, Person le dira el valor de su atributo de Edad.[ CITATION Frn15 \l 3082 ]

Una lgica ms compleja podra estar oculta dentro del objeto Person pero por ahora suponga que esa Person tiene el
comportamiento de responder estas preguntas:
Cul es su nombre?
Qu edad tiene?
Cul es su altura?
Cunto pesa?
Cul es su color de ojos?
Cul es su gnero?

Encapsulamiento
Recuerde que un objeto es, sobre todo, diferenciado o independiente. Este es el principio de encapsulamiento en
funcionamiento. Ocultacin es otro trmino que a veces se usa para expresar la naturaleza independiente y protegida de los
objetos.
Sin tener en cuenta la terminologa, lo que es importante es que el objeto mantiene un lmite entre su estado y comportamiento y
el mundo exterior. Como los objetos del mundo real, los objetos usados en la programacin de computadora tienen diversos tipos
de relaciones con diferentes categoras de objetos en las aplicaciones que los utilizan.
En la plataforma Java, puede usar especificadores de acceso (los que presentar ms adelante en el tutorial) para variar la
naturaleza de las relaciones de los objetos desde lo pblico a lo privado. El acceso pblico tiene una gran apertura, mientras que
el acceso privado significa que los atributos del objeto son accesibles solo dentro del objeto mismo.

PHP siempre ha sido un lenguaje de programacin estructurada, se puede programar perfectamente paginas web, con includes y
funciones pero ante la creciente popularidad y cada vez ms complejos proyectos los programadores empezaron a pedir un poco
el cambio de estructura hasta llegar a la programacin orientada a objetos.
As pues desde php5 todo el cdigo de programacin orientada a objetos fue reescrito para aumentar el rendimiento, a da de hoy
es muy normal utilizar POO en pequeos y grandes proyectos ya que la programacin orientada a objetos nos ayuda a
economizar cdigo, creando objetos simples y con la ayuda de herencias poder ir sumando caractersticas hasta llegar a objetos
ms complejos.
Un objeto en php tiene Atributos y mtodos, los atributos es lo que define al objeto son variables y arrays , los mtodos son las
acciones que se puede hacer con el objeto, tomando como ejemplo a wordpress, imagina este articulo que ests leyendo.
Este articulo tiene un atributo que lo define como entrada que puede ser la id del artculo, el titulo, el contenido y la fecha que se
creo, todo esto es el articulo pero que se puede hacer con este articulo, que acciones se pueden realizar sobre este articulo, eso
son los mtodos.
Pues los mtodos podran ser, crear un nuevo artculo, editar, borrar o ver.

Para definir una clase en php se utiliza la palabra reservada class nombre de la clase y se abren y cierran llaves {} todo lo que
hay dentro de estas llaves son los objetos. La sintaxis es la siguientes: [ CITATION Rey07 \l 3082 ]

1 <?php
2 class NombreClase {
3 // Definicin de las propiedades de la clase
4 // Definicin de los mtodos de la clase
5 }
6 ?>

Una vez creada la clase tiene que tener unas propiedades, estas propiedades estn divididas en tres categoras
Public: Cuando damos este nivel de acceso a la propiedad este puede ser accedido desde cualquier parte de la clase

3
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas
Private: Cuando damos este nivel de acceso a la propiedad esta propiedad solo puede ser accedida desde su propia clase
Protected: Cuando damos este nivel de acceso la propiedad no puede ser usada por ninguna clase que no pertenezca a la subclase

1 <?php
2 class NombreClase
3{
4 // Definicin de las propiedades de la clase
5 Public $id;
6 private $autor;
7 protected $contrasea
8 // Definicin de los mtodos de la clase
9}

Vamos muy bien, ya tenemos creada la clase y la hemos definido, pero la pregunta es ahora qu se puede hacer con esa clase?
para eso existen los mtodos de clase como ya te he explicado, el mtodo de una clase son todas las acciones que se pueden hacer
sobre la clase.

<?php
02 class NombreClase
03 {
04 // Definicin de las propiedades de la clase
05 Public $id;
06 private $autor;
07 protected $contrasea
08 // Definicin de los mtodos de la clase
09 Public function BorrarEntrada($id){
10 //aqu tendra que ir el cdigo PHP para borrar la entrada
11 }
12 private function ModificarContrasena($id){
13 //aqu tendra que ir el cdigo PHP para modificar la entrada
14 }
15 }

Si te diste cuenta ves que no es nada complicado el problema de PHP es que sus compilaciones son extremadamente largos, nos
espera muchas lneas ms y ms por eso lo veo complejo, bueno solo es cuestin de practica si ves que te adaptas a este lenguaje
de programacion pues no la dejes te nsito a que la practiques, ya mismo veremos que lenguaje ser ms extendido pero practico
en usarlo.[ CITATION Jul10 \l 3082 ]

Para crear una clase en Python usaremos la palabra clave class , de la siguiente forma:

class Nombre:

'Documentacin de la clase'

Cuerpo de la clase

4
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas
Por convenio, los nombres de clase empiezan por mayscula. Igual que al definir funciones, la primera lnea documenta la clase.
El cuerpo de la clase son variables y funciones y van con un nivel de sangra, o con un tabulador. Vamos a hacer un ejemplo
sencillo (y burdo) sobre el que ir comentando cosas.

Por convenio, los nombres de clase empiezan por mayscula. Igual que al definir funciones, la primera lnea documenta la clase.
El cuerpo de la clase son variables y funciones y van con un nivel de sangra, o con un tabulador. Vamos a hacer un ejemplo
sencillo (y burdo) sobre el que ir comentando cosas.[ CITATION Ped161 \l 3082 ]

class Bicicleta:

'Clase base de bicicleta'

def __init__(self):

self.velocidad = 0

def pedalear(self, rpm):

self.velocidad = rpm*0.4

def frenar (self, presion, tiempo):

if self.velocidad > presion*tiempo/100 > 0:

self.velocidad = self.velocidad - presion*tiempo/100

else:

self.velocidad = 0

En este ejemplo definimos una bicicleta con un slo atributo: su velocidad. Asociados a ella tenemos dos mtidos: pedalear, el
cual incrementa la velocidad, y frenar, que la disminuye. Independientemente de lo simplificado y las muchas razones por las que
pueden fallar estos dos mtodos, fijaos en lo siguiente:

Existe un mtodo llamado __init__ . Este mtodo es el encargado de fijar las condiciones iniciales de un objeto, en el
momento de su creacin: es el constructor.

Todos los mtodos tienen de primer parmetro uno que se llama self. Poda llamarse de cualquier otra forma e,
incluso, podramos llamarle de forma diferente en cada mtodo; es una referencia a la instancia del objeto. Es decir, cuando la
bicicleta est creada, self la representar, de tal forma que podremos referirnos a ella y consultar o modificar sus valores, o
incluso llamar a sus mtodos desde s misma.

Para modificar la velocidad de la bicicleta hay que acceder a ella a travs de self , mediante self.velocidad .

De la misma forma hemos declarado la variable velocidad en el constructor __init__ .[ CITATION San16 \l
3082 ]

Por lo dems, nada nuevo. Vamos a ver cmo se crea y se usa un objeto: abre IDLE y, en un mismo fichero, copia la
declaracin de la clase Bicicleta ms estas lneas:

5
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas
bicicleta1 = Bicicleta();

bicicleta1.pedalear(60)

print("Velocidad", bicicleta1.velocidad)

bicicleta1.frenar(4, 10)

print("Velocidad", bicicleta1.velocidad)

bicicleta1.frenar(100,100)

print("Velocidad", bicicleta1.velocidad)

Ten cuidado de no sangrar estas ltimas lneas. Pulsa F5 desde el editor de IDLE. El resultado que deberas observar es el
siguiente:

Para crear la instancia debemos llamar al constructor; no mediante su nombre __init__ , que es interno, sino usando el nombre de
la clase: objeto = Nombre_clase(parametro1, parametro2,...). Adems, self se omite: el propio intrprete se encarga de incluirlo
siempre. En nuestro ejemplo, el constructor no tiene argumentos, pero pronto le aadiremos alguno. Por otro lado los mtodos y
atributos del objeto se acceden mediante la construccin objeto.metodo(parametro1, parametro2,...) y objeto.atributo.

Realmente ya ests familiarizado con esta sintaxis, puesto que la hemos usado en muchas ocasiones en los artculos anteriores.

Ya tenemos una bicicleta bsica; vamos a especializarla en una subclase, mediante herencia, creando la bicicleta de carreras.
Tendr un color, un nmero de platos y un nmero de piones para poder cambiar de marchas.

6
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas
Para crear una subclase en Python slo tenemos que especificar el nombre de la clase de la cual hereda entre parntesis, en la
declaracin. As:

class BiciCarreras(Bicicleta):

'Clase correspondiente a una bicicleta de velocidad'

Si dejsemos esa declaracin as, podramos crear instancias de la clase BiciCarreras que, a efectos de datos y comportamiento,
sera idntica a la clase Bicicleta : puedes probarlo si quieres creando una instancia y ejecutando el mtodo pedalear . Vamos a
especializarla. Completa la definicin de la clase para finalizar con este cdigo que viene a continuacin, y escrbelo al final de
tu fichero Python de pruebas que has debido comenzar con la clase Bicicleta:

class BiciCarreras(Bicicleta):

'Clase correspondiente a una bicicleta de velocidad'

def __init__(self, color, platos, pinhones):

self.color = color

self.platos = platos

self.pinhones = pinhones

self.marchas = platos * pinhones

self.plato_actual = math.floor(platos/2)

self.pinhon_actual = math.floor(pinhones/2)

def pedalear (self, rpm):

self.velocidad = rpm*(self.pinhon_actual * self.plato_actual)/self.marchas

def subir_pinhon (self):

if self.pinhon_actual < self.pinhones:

self.pinhon_actual = self.pinhon_actual + 1

def bajar_pinhon (self):

if self.pinhon_actual > 1:

self.pinhon_actual = self.pinhon_actual - 1

7
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas
def subir_plato (self):

if self.plato_actual < self.platos:

self.plato_actual = self.plato_actual + 1

def bajar_plato (self):

if self.plato_actual > 1:

self.plato_actual = self.plato_actual - 1

def __str__ (self):

return "Bicicleta de carreras de color " + self.color + " y " + str(self.marchas) + " marchas."

Como finalizacin de mi desarrollo, di a conocer tres ejemplos simples de comprender para el remisor llegue a la conclusin,
donde el lenguaje ms comprensible de este artculo de revisin y ms fcil de dominarlo es nada ms y nada menos que el
lenguaje ms complejo, pero no imposible de programarlo es un lenguaje donde su parigma es amplio y practico, Java y muchos
de ustedes se preguntaran Por qu la plataforma Java? Pues fcil java es un lenguaje que escribe el cdigo de origen en archivos
java y luego los compila. El compilador verifica su cdigo con las reglas de sintaxis del lenguaje, luego escribe los cdigos
byte en archivos .class. Los cdigos byte son instrucciones estndar destinadas a ejecutarse en una Java Virtual Machine (JVM).
Al agregar este nivel de abstraccin, el compilador Java difiere de los otros compiladores de lenguaje, que escriben instrucciones
apropiadas para el chipset de la CPU en el que el programa se ejecutar. Por eso es que Java es una lengua muy amplio y necesita
de mucha prctica, entonces ms adelante veremos en el anlisis de la investigacin y en la parte de conclusin usted vera las
razonas ms claras.[ CITATION Bad17 \l 3082 ]

1.1. Anlisis de la investigacin

Java es uno de los lenguajes ms extendidos, y es clave en el desarrollo web y de aplicaciones de escritorio, as como de sistemas
operativos. Java est orientado a objetos, y es el lenguaje ms utilizado del mundo, as como el ms demandado en el mundo
laboral.
A pesar de ser el ms popular, no es el ms sencillo, ya que gran parte de su sintaxis deriva de C y C++. Incluso a la hora de
ensear programacin, se suele empezar antes con estos dos que con Java. Por qu lo incluimos entonces? Porque Java es un
lenguaje que te ensea a pensar con un programador, analizando cmo procesan los ordenadores la informacin. Adems, gracias
a ser el ms utilizado, probablemente tus dudas estn ya resueltas en muchos foros.[ CITATION Zon15 \l 3082 ]

3. Conclusiones

Llegue a una conclusin, el lenguaje ms fcil donde puedas programar, es Java por que estructuralmente, el lenguaje Java
comienza con paquetes. Un paquete es el mecanismo de espacio de nombres del lenguaje Java. Dentro de los paquetes se
encuentran las clases y dentro de las clases se encuentran mtodos, variables, constantes, entre otros. En este, aprender acerca
de las partes del lenguaje Java.

8
Wilser Stalyn Bados Carrillo /EAP. Ingeniera Sistemas

[ CITATION Ald15 \l 3082 ]

Referencias

Perry, S. J., Alvarez, M. A., & Morales Osorio , S. (11 de setiembre de 2014). Historia de la Programacin Orientacin a Objetos.
(W. S. Bados Carrillo, Ed.) Prezi, 1-3. Recuperado el 31 de octubre de 2017, de https://prezi.com/0m-
vnei_pwdq/historia-de-la-programacion-orientacion-a-objetos-poo/
Aldama Martinez, A. M., Bustamante Caldern, D. A., & Lliuyacc Esperitu, S. J. (8 de setiembre de 2015). Java, un lenguaje util
en la vida. (S. Bados, Ed.) Tu tambien puedes pregramar, 1-23. Recuperado el 2 de noviembre de 2017
Bados Carrillo, W. S. (1 de novienbre de 2017). breve resumen. (Bados, Ed.) Bados, 1. Recuperado el 1 de noviembre de 2017
Frnsico, A. R. (5 de agosto de 2015). INTRODUCCIN POO Y JAVA RESUMEN POO JAVA OBJETIVOS. (w. S. Bados
Carrillo, Ed.) Bludemix(2), 1-9. Recuperado el 31 de octubre de 2017
Julio, Z. (4 de julio de 2010). Programacin Orientada a Objetos en PHP5. (S. Bados, Ed.) Libro(5), 1-294. Recuperado el 1 de
noviembre de 2017
Miguel Angel, A. (21 de junio de 2004). Programacin orientada a objetos en PHP. (W. S. Bados Carillo, Ed.)
desarrollowed.com, 12. Recuperado el 31 de octubre de 2017, de https://desarrolloweb.com/articulos/1540.php
Reyes, J. (15 de setiembre de 2007). PHP con POO. (S. Bados, Ed.) Bichito, 1-12. Recuperado el 1 de novienbre de 2017
Roman, P. (14 de octubre de 2016). Python en poo . (S. bados, Ed.) PItando, 2, 1-16. Recuperado el 1 de noviembre de 2017
Santillan. (9 de agosto de 2016). Python en POO. (S. bados, Ed.) Bejob, 1-9. Recuperado el 1 de novienbre de 2017
Zone. (7 de octubre de 2015). lenguages faciles. (S. Bados, Ed.) ADSLZONE, 1-50. Recuperado el 1 de noviembre de 2017

Vous aimerez peut-être aussi