sábado, 25 de enero de 2014

Programando en C++ ... no. 3

Herencia

En este ejemplo se van a crear dos clases:

  • una clase base llamada Ingenieria
  • y una clase hija llamada Ingenieria_Computacion

La clase base (Ingenieria) heredará a la clase hija (Ingenieria_Computacion) sus atributos y métodos.


#include <iostream>
#include<string>

using namespace std;


class Ingenieria{
private:
int anyosEstudio;

public:
Ingenieria();
virtual ~Ingenieria();
void setAnyosEstudio(int anyosEstudio);
int getAnyosEstudio();

};

class Ingenieria_Computacion: public Ingenieria{
private:
string especialidad;

public:
Ingenieria_Computacion();
virtual ~Ingenieria_Computacion();
void setEspecialidad(string especialidad);
string getEspecialidad();

};

Ingenieria::Ingenieria(){
 cout<<"Objeto Ingenieria creado"<<endl;
}

Ingenieria::~Ingenieria(){
 cout<<"Objeto Ingenieria destruido"<<endl;
}

void Ingenieria::setAnyosEstudio(int anyosEstudio){this->anyosEstudio=anyosEstudio;}
int Ingenieria::getAnyosEstudio(){return this->anyosEstudio;}

Ingenieria_Computacion::Ingenieria_Computacion(){
  cout<<"Objeto Ingenieria_Computacion creado"<<endl;
}


Ingenieria_Computacion::~Ingenieria_Computacion(){
  cout<<"Objeto Ingenieria_Computacion destruido"<<endl;
}

void Ingenieria_Computacion::setEspecialidad(string especialidad){this->especialidad=especialidad;}
string Ingenieria_Computacion::getEspecialidad(){return this->especialidad;}

int main(){
   Ingenieria_Computacion ingeniero=Ingenieria_Computacion();
   ingeniero.setAnyosEstudio(5);
   ingeniero.setEspecialidad("redes de computadoras");
   cout<<"anyos de estudio: "<<ingeniero.getAnyosEstudio()<<endl;
   cout<<"especialidad: "<<ingeniero.getEspecialidad()<<endl;
  return 0;
}


Resultado:


lunes, 6 de enero de 2014

Programadores ...

  • Le gusta lo sencillo
  • No es muy "robusto" ni "pesado"

class Pythonista:
        def __init__(self, nombre): 
             self.nombre=nombre


 #main
 codeMonkey=Pythonista('Steve')
 print codeMonkey.nombre


  •  No muy confiable para algunos
  •  Puede sorprender 


 def lista=['libertad','groovy','amor y paz']

lista.each{it-> println "$it"}










  •  Demasiado "robusto" y "pesado" para algunos
  •  Le gusta la dificultad
 /**
*@author yo merito
*@date hoy
*/
public class Javesco{
/**
*@param args
*/
public static void main(String ... args){
  
      System.out.println("Un espacio demasiado pequeño");
 }

}



  • No le parece "adecuado"  todo lo que tenga que ver con la libertad
  • Debes sujetarte a sus normas



 NO ME PERMITO COMPARTIR CÓDIGO










  •  No le toman mucho interés o seriedad
  •  A algunos les puede parecer molesto
 class No_Terrestre
         def initialize(nombre)
           @nombre=nombre
         end

     attr_reader :nombre
end

#main
codeMonkey=No_Terrestre.new('Roger')
puts "Hola #{codeMonkey.nombre}"





  • Considera a otros como advenedizos
  • Debes cuidar tu "forma de hacer las cosas"


#include<stdio.h>

int main(){
  printf("no se me da la gana escribir funciones");
  return 0;
}











  • Solo algunos le entienden ... solo algunos
  • Muy confuso ... mucho



use strict;
use warnings;

my($cad);
$cad='Tal vez esto sirva'.'  o tal vez no';











  • Prefiere lo funcional y lo pragmático
  • Refinado y estricto


object Scalar extends App{
     Console.println("Deja de ver mi martini")
}












  • Le gusta lo directo, nada de palabrerías  insulsas
  • Cuida todo lo que escribes y dices, en serio hazlo 
void run(){
   print("Si ves esto, es porque sabes leer ");
}



Un poco de humor para todos.

domingo, 5 de enero de 2014

Programando en Ruby ... no. 2


Crear una clase en Ruby

ejemplos.rb
 
class Manguera

    def initialize(longitud,color)
        @longitud=longitud
        @color=color
    end

    attr_reader :longitud, :color
end

#'main' del programa
begin
#instanciamos la clase 'Manguera'
    manguera=Manguera.new('50 mts','negra')
rescue
    @error_message="#{$!}"
ensure
#imprimimos los datos
    puts "color: #{manguera.color} , longitud: #{manguera.longitud}"
end


Ruby es un lenguaje muy parecido a Python ,si tienes tiempo programando en el te parecerá bastante familiar.


¿Cómo quedaría la clase en Python?

ejemplos.py

class Manguera:
    def __init__(self,longitud,color):
        self.color=color
        self.longitud=longitud


try:
    manguera=Manguera('35 mts','naranja')
except Exception, e:
    print e
finally:
    print "color: %s, longitud: %s"%(manguera.color,manguera.longitud)

Modificando el código de la clase (en Ruby), podemos introducir valores:

class Manguera
    def initialize(longitud,color)
        @longitud=longitud
        @color=color
    end

    attr_reader :longitud, :color
end


color=''
longitud=''
begin
   #pedimos el color 
    puts "Color: "
    STDOUT.flush
    color=gets.chomp
   #pedimos la longitud
    puts "Longitud: "
    STDOUT.flush
    longitud=gets.chomp

    if color!='' and longitud!=''
        manguera=Manguera.new(longitud,color)
    end
   
rescue
    @error_message="#{$!}"
ensure
    puts "color: #{manguera.color} , longitud: #{manguera.longitud}"
end


También podriamos crear un método para visualizar los datos:

class Manguera
    def initialize(longitud,color)
        @longitud=longitud
        @color=color
    end

   #creamos  el método para visualizar los datos
   def verDatos
         puts "color:  #{color} , longitud: #{longitud}"
   end

    attr_reader :longitud, :color
end


color=''
longitud=''

=begin
     nota: esto es un comentario
=end

begin
   #pedimos el color 
    puts "Color: "
    STDOUT.flush
    color=gets.chomp
   #pedimos la longitud
    puts "Longitud: "
    STDOUT.flush
    longitud=gets.chomp

    if color!='' and longitud!=''
        manguera=Manguera.new(longitud,color)
    end
   
rescue
    @error_message="#{$!}"
ensure
    manguera.verDatos
end


Links:
http://codemonkeyjunior.blogspot.mx/2013/05/un-vistazo-ruby.html
http://codemonkeyjunior.blogspot.mx/2013/06/programando-en-ruby-no-1.html
http://www.elclubdelprogramador.com/category/programacion/ruby/

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog