Clases en Ruby
Es muy fácil crearlas en este lenguaje.
Al igual que en Python y/o Groovy no es necesario crear métodos getter y setter para acceder a las propiedades de la clase.
En Python sería algo así:
class Diamante(object):
def __init__(self, valor):
self.valor=valor
#main
diamante=Diamante('20.9')
print "valor :%f\n"%(diamante.valor)
En Groovy así:
class Diamante{
Float valor
}
#main
static main(args){
def diamante=new Diamante(valor:20.9f)
println "valor $diamante.valor"
}
¿Existe la herencia en Ruby?
Si, existe la herencia en este lenguaje. La sintaxis es:
class ClasePadre
...
end
class ClaseHija < ClasePadre
...
end
Ejemplo. Creamos una clase padre llamada 'Animal' y dos clases hijas 'Spider' y 'Bird'
#clase padre
class Animal
attr_accessor :no_patas
def initialize(no_patas)
@no_patas=no_patas
puts "objeto animal creado"
end
end
#clase hija
class Spider < Animal
attr_accessor :especie
def initialize(no_patas, especie)
super(no_patas)
@especie=especie
puts "objeto spider creado"
end
end
#clase hija
class Bird < Animal
attr_accessor :color
def initialize(no_patas, color)
super(no_patas)
@color=color
puts "objeto bird creado"
end
end
Además de heredar la propiedad 'no_patas' de la clase padre 'Animal' las clases hijas pueden poseer otras más. Para terminar creamos el 'main' del programa.
begin
spider=Spider.new(8,'negra')
bird=Bird.new(2,'amarilla')
puts "Spider"
puts "no. de patas:"+spider.no_patas.to_s
puts "color: #{spider.color}"
puts "Bird:"
puts "no. de patas:"+bird.no_patas.to_s
puts "color: #{bird.color}"
rescue Exception => e
puts e.message
end
Ejecutamos: ruby animales.rb
Links
http://codemonkeyjunior.blogspot.mx/2014/03/programando-en-ruby-no-4.html
http://codemonkeyjunior.blogspot.mx/2014/02/programando-en-ruby-no-3.html
http://codemonkeyjunior.blogspot.mx/2014/01/programando-en-ruby-no-2.html
http://codemonkeyjunior.blogspot.mx/2013/06/programando-en-ruby-no-1.html
http://codemonkeyjunior.blogspot.mx/2013/05/un-vistazo-ruby.html
domingo, 8 de junio de 2014
sábado, 7 de junio de 2014
Javascript ... aspectos básicos
¿Qué puedo hacer con Javascript?
Existen bastantes librerías y Frameworks para desarrollo de aplicaciones de todo tipo, depende de la necesidad y trabajo del desarrollador sacarle el mejor provecho.
Hace años parecía imposible usarlo para aplicaciones que no fueran web.
¡Hola, mundo!
Para crear un archivo Javascript es necesario guardarlo con la extensión *.js, para invocarlo dentro de una archivo *.html es necesario agregar las etiquetas <script src="miArchivo.js"> </script>.
miArchivo.js
function inicio(){
alert('¡Hola, mundo!')
}
miPagina.html
<! -- código javascript -->
<script src="miArchivo.js"> </script>
<body onload="inicio()">
<h1>Iniciando en Javascript</h1>
</body>
También se puede agregar el código dentro de la página *.html.
<script>
function inicio(){
alert('¡Hola, mundo!')
}
</script>
<body onload="inicio()">
</body>
Al abrir este archivo en nuestro navegador nos muestra una ventana con el mensaje:!Hola, mundo¡
¿Como se declaran las variables?
Con la palabra var, puedes asignarles cualquier valor.
var entero=20
var cadena='Los presidentes se reunieron para hablar sobre las reformas ...'
var lista=[new Date(), 'T', 120,'tres', [2,4,5,6]]
Sentencias de control
Existen tres sentencias de control para mantener el flujo del programa,muy similar a C.
Ejemplo. Declaramos un arreglo con un tamaño de 3 y lo recorremos con un for y un while.
var arreglo=new Array(3);
arreglo[0]=12;
arreglo[1]=32;
arreglo[2]=46;
//con for
for(var i=0;i<arreglo.length;i++){
document.writeln(arreglo[i]);
}
//con while
var cont=0;
while(cont<arreglo.length){
document.writeln('[arreglo[cont]);
cont++;
}
Funciones
Podemos crear funciones usando la siguiente sintaxis:
function nombreFuncion(param1, param2, ...){
//cuerpo
[return] variable
}
Ejemplo. Creamos una función que suma dos valores.
function sumar(a,b){
return a+b
}
No es indispensable que las funciones devuelvan valor alguno.
Objetos en Javascript
Podemos crear objetos de la siguiente manera:
function Torre(tamanyo,color){
this.tamanyo=tamanyo;
this.color=color;
}
Nombre: Torre
Propiedades: tamanyo, y color
Usando la propiedad 'prototype' podemos agregar propiedades al objeto Torre:
//obtenemos la información
Torre.prototype.getInfo=function(){
return 'color: '+this.color+' , tamaño:' +this.tamanyo;
};
//los getters y setters al estilo Java
Torre.prototype.getTamanyo=function(){
return this.tamanyo;
};
Torre.prototype.setTamanyo=function(tam){
this.tamanyo=tam;
};
Torre.prototype.setColor=function(col){
this.color=col;
};
Torre.prototype.getColor=function(){
return this.color;
};
Existen bastantes librerías y Frameworks para desarrollo de aplicaciones de todo tipo, depende de la necesidad y trabajo del desarrollador sacarle el mejor provecho.
Hace años parecía imposible usarlo para aplicaciones que no fueran web.
¡Hola, mundo!
Para crear un archivo Javascript es necesario guardarlo con la extensión *.js, para invocarlo dentro de una archivo *.html es necesario agregar las etiquetas <script src="miArchivo.js"> </script>.
miArchivo.js
function inicio(){
alert('¡Hola, mundo!')
}
miPagina.html
<! -- código javascript -->
<script src="miArchivo.js"> </script>
<body onload="inicio()">
<h1>Iniciando en Javascript</h1>
</body>
También se puede agregar el código dentro de la página *.html.
<script>
function inicio(){
alert('¡Hola, mundo!')
}
</script>
<body onload="inicio()">
</body>
Al abrir este archivo en nuestro navegador nos muestra una ventana con el mensaje:!Hola, mundo¡
¿Como se declaran las variables?
Con la palabra var, puedes asignarles cualquier valor.
var entero=20
var cadena='Los presidentes se reunieron para hablar sobre las reformas ...'
var lista=[new Date(), 'T', 120,'tres', [2,4,5,6]]
Sentencias de control
Existen tres sentencias de control para mantener el flujo del programa,muy similar a C.
- Secuencial
- Iterativa: for, while
- Selectiva: switch, if-else
Ejemplo. Declaramos un arreglo con un tamaño de 3 y lo recorremos con un for y un while.
var arreglo=new Array(3);
arreglo[0]=12;
arreglo[1]=32;
arreglo[2]=46;
//con for
for(var i=0;i<arreglo.length;i++){
document.writeln(arreglo[i]);
}
//con while
var cont=0;
while(cont<arreglo.length){
document.writeln('[arreglo[cont]);
cont++;
}
Funciones
Podemos crear funciones usando la siguiente sintaxis:
function nombreFuncion(param1, param2, ...){
//cuerpo
[return] variable
}
Ejemplo. Creamos una función que suma dos valores.
function sumar(a,b){
return a+b
}
No es indispensable que las funciones devuelvan valor alguno.
Objetos en Javascript
Podemos crear objetos de la siguiente manera:
function Torre(tamanyo,color){
this.tamanyo=tamanyo;
this.color=color;
}
Nombre: Torre
Propiedades: tamanyo, y color
Usando la propiedad 'prototype' podemos agregar propiedades al objeto Torre:
//obtenemos la información
Torre.prototype.getInfo=function(){
return 'color: '+this.color+' , tamaño:' +this.tamanyo;
};
//los getters y setters al estilo Java
Torre.prototype.getTamanyo=function(){
return this.tamanyo;
};
Torre.prototype.setTamanyo=function(tam){
this.tamanyo=tam;
};
Torre.prototype.setColor=function(col){
this.color=col;
};
Torre.prototype.getColor=function(){
return this.color;
};
Formularios
Podemos acceder a los valores de los formularios html mediante javascript.
Ejemplo. Creamos un formulario con una caja de texto y un botón, obtendremos el valor de la caja de texto y lo mostraremos en una ventana.
<!-- código javascript -->
function obtiene(){
//accedemos al valor mediante un id, en este caso es 'dato'
var dato=document.getElementById('dato');
//mostramos el valor obtenido y su tipo
alert('El dato introducido es: '+dato.value+' , es de tipo: '+typeof(dato));
//borramos el contenido de la caja de texto
document.getElementById('dato').value='';
}
<!-- código html -->
<form>
<input type="text" id="dato" value=""/>
<button onclick="obtiene()">Obtener dato</button>
</form>
Introducimos texto y presionamos el botón que lo envía a la función obtiene().
Javascript es un lenguaje muy usado hoy en día, existen bastantes frameworks que proveen muchas utilidades para las aplicaciones.
Suscribirse a:
Entradas (Atom)