elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16
91  Programación / Programación General / Programación Orientada a Objetos -Objetos y Clases en: 3 Septiembre 2010, 09:16 am
Objetos y Clases

¿Que es un Objeto?

    * Un objeto informalmente es una entidad del mundo real, Existen entidades físicas, conceptuales y de software
    * Entidades físicas: Automóvil, Avión
    * Entidades Conceptuales: Formula Matemática, Procesos Biologicos
    * Entidades de Software: Listas, Colas, Interfaces Gráficas


Definición Formal

Según las definiciones formales de James Rumbaugh y Grady Booch, un objeto es una abstracción de la realidad que tiene un significado concreto y claro para el problema que se esta modelando, para mi ejemplo voy a tomas un objeto como un Auto. Entonces según Booch los objetos poseen Estado, Comportamiento e Identidad. Entonces:

    * Estado: los estados se pueden traducir como los atributos del objeto o sus características. Por ejemplo el auto tiene un numero de puertas, un cierto numero de ruedas, un motor, entre otros.
    * Comportamiento: se puede traducir como las operaciones que puede ejecutar el objeto, en nuestro caso, acelerar, frenar, girar, arrancar, entre otros.
    * Identidad: la identidad hace referencia a que cada objeto es único ante los demás, así los otros tengan los mismos estado.


¿Que es una Clase?

Una clase es la descripción de un grupo de objetos que cumples con las siguientes características:

    * Propiedades en común (Atributos)
    * Comportamientos Similares (Operaciones)
    * La misma forma de relacionarse con los demás objetos.
    * Significan lo mismo

Por ejemplo un Auto (como lo vimos anteriormente) Posee un conjunto de comportamientos, como es arrancar y frenar que lo hace un vehí[cul*] motorizado. Ahora bien, una moto también es un vehí[cul*] motorizado y también posee los mismo comportamientos de un automóvil (arrancar y frenar) Entonces una clase es la generalización de un conjunto de objetos que comparte, en este caso, comportamientos similares.

Una clase es una definición abstracta de un objeto, define la estructura y el comportamiento compartidos por los objetos. Sirven como modelos para la creación de objetos.

De cierta forma, las clases se pueden ver como plantillas, moldes o esquemas de un conjunto de entidades de la cual se crearan instancias (objetos)


FUENTE
92  Programación / Programación General / Modificadores de Acceso en: 3 Septiembre 2010, 07:15 am
Modificadores de Acceso

Un modificador de acceso permite definir niveles de acceso o visibilidad de los miembros de de una clase como los atributos y operaciones (Estados y Comportamiento).
Los cuatro niveles de acceso son:

    * Publico
    * Privado
    * Protegido
    * Paquete


Publico: cuando un miembro publico (recuerden que cuando me refiero a un miembro hago referencia a un atributo u operación) este puede ser accedido por cualquier otra clase.

Privado: cuando un miembro es privado, significa que solamente puede ser accedido por los misma clase.

Protegido: un miembro protegido solamente puede ser accedido desde la clase en la que está declarado y desde las clases que hereden de ella.

Paquete: un miembro de tipo paquete sólo podrá ser accedido desde las clases que estén en el mismo paquete lógico que la clase en la que está definido. En un entorno .Net las librerias las podemos ver como las DLL o archivos ejecutables (Exe) en cambio en un entorno JAVA los paquetes son loas archivo JAR.

Ejemplo: para mis ejemplos voy a utilizar cuatro lenguajes de programación, que de cierta forma son los mas comerciales, estos son VB .NET, C# .NET, JAVA y PHP. Con ellos aprenderemos como se ve la teoría en la practica, crearemos clases, atributos y métodos con los diferentes tipos de acceso

Definición de clases con uso de modificadores de acceso:

VB .NET

La familia .NET son tecnologías licenciadas, la idea que tuvo Microsoft es bastante buena, por que .NET no es solo un lenguaje sin que es un conjunto de ellos. Por eso .Net se adapta a cualquier desarrollador de software pero eso no quiere decir que sea el mejor

Código
  1. Module Program
  2.    Sub Main()
  3.        'Instaciamos un objeto de la clase Clase1
  4.        Dim o As New Clase1
  5.        'Llamamos el método operacion2() recuerden que este es publico        
  6.        o.operacion1()
  7.        'Si llamo a operaciones dos que tiene acceso privado, nos va a producir un
  8.        'Error ya que solo puede ser accedido desde la misma clase
  9.        o.operacion2()
  10.        Console.Write("Oprima un tecla para seguir . . . ")
  11.        Console.ReadKey(True)
  12.    End Sub
  13. End Module
  14.  
  15. 'Podemos observar que cuando declaramos la clase se le antepone el nombre
  16. 'del modificado de acceso (public) seguido de la palabra Class y después el
  17. 'nombre de la clase y al final End Class que cierra la clase
  18. Public Class Clase1
  19.    'Después de haber creado la clase, se crean los atributos, que son de
  20.    'carácter privado
  21.    Private atributo1 As Integer
  22.    Private atributo2 As String
  23.  
  24.    'Las operaciones pueden ser definidas de dos maneras en VB con la palabra reservada
  25.    'Sub (void) que no retorna nada o Property que quiere decir que vamos a decir algo
  26.    'de este método, por ahora veamos un método Sub
  27.  
  28.    Public Sub operacion1()
  29.        console.WriteLine("Hola Mundo")
  30.    End Sub
  31.  
  32.    Private Sub operacion2()
  33.        console.WriteLine("Hola Mundo 2")
  34.    End Sub
  35.  
  36. End Class

Definición de clases con uso de modificadores de acceso:

C# .NET

Código
  1. using System;
  2. class Program
  3. {
  4.    public static void Main(string[] args)
  5.    {
  6.        //Instaciamos un objeto de la clase1
  7.        clase1 objeto = new clase1();
  8.        objeto.setNumero(1);
  9.        Console.WriteLine(objeto.saludar());
  10.        Console.WriteLine(objeto.getNumero());
  11.        Console.WriteLine(objeto.despedir());
  12.        Console.Write("Presione una tecla . . . ");
  13.        Console.ReadKey(true);
  14.    }
  15. }
  16.  
  17. public class clase1{
  18.    //Creamos el atributo de tipo int
  19.    private int numero;
  20.    //Creamos las operaciones o metodos
  21.    public string saludar(){
  22.        return "Hola Como Estas?";
  23.    }
  24.  
  25.    public string despedir(){
  26.        return "Hasta Luego !!!";
  27.    }
  28.  
  29.    public void setNumero(int x){
  30.        this.numero=x;
  31.    }
  32.  
  33.    public int getNumero(){
  34.        return this.numero;
  35.    }
  36. }


JAVA

Código
  1. public class prueba{
  2.    public static void main(String arg[]){
  3.        //Creamo el objeto
  4.        Matematicas objeto = new Matematicas();
  5.        //Llamamos los metodos de la clase Matematicas
  6.        System.out.println(objeto.sumar(2,3));
  7.        System.out.println(objeto.multiplicar(3,7));
  8.    }
  9. }
  10.  
  11. class Matematicas {
  12.    //Tipo de acceso publico
  13.    public int sumar(int x, int y){
  14.        return x+y;
  15.    }
  16.    //Tipo de acceso privado
  17.    private int restar(int x, int y){
  18.        return x-y;
  19.    }
  20.    //Tipo de acceso protegido
  21.    protected int multiplicar (int x, int y){
  22.        return x*y;
  23.    }
  24. }
  25.  

Si podemos observar, la forma de trabajo de C# y JAVA son muy similares así que básicamente si aprendemos a programar en C# nos que mas fácil aprender JAVA

PHP

Código
  1. <?php
  2. class ClaseHtml{
  3.  
  4.  private $atributo=0;
  5.  
  6.  public function negrilla($str){
  7.    return "<strong>".$str."</strong>";
  8.  }
  9.  
  10.  private function gigante($str){
  11.    return "<h1>".$str."</h1>";
  12.  }
  13.  
  14.  protected function cursiva($str){
  15.    return "<i>".$str."</i>";
  16.  }
  17. }
  18. //Instaciamos el Objeto
  19. $objeto = new ClaseHtml();
  20. //Llámanos a los métodos
  21. echo $objeto->gigante("Hola"); // Nos saldrá un error por el tipo de Acceso
  22. echo $objeto->negrilla("Mundo"); // Nos saldrá un error por el tipo de Acceso
  23. ?>

FUENTE
93  Programación / Programación General / [Fundamentos] Programación Orientada a Objetos en: 2 Septiembre 2010, 20:53 pm
Introducción

La programación orientada a objetos (POO) nos permite escribir código menos propenso a fallos además de permitirnos la re utilización de código de forma más conveniente.

En el siguiente articulo tratare unos conceptos básicos que debemos tener en cuenta a la hora de programar bajo este paradigma y de cómo utilizar los distintos elementos que nos permitirán crear código que sea más fácil de escribir y mantener 

Los Pilares de la POO

La programación orientada objetos (que aquí en adelante la voy a llamar POO) tiene tres características esenciales y son el alma de este estilo de programación estos son:

    * Encapsulación
    * Herencia
    * Polimorfismo

Encapsulación: Es la cualidad de unificar los datos y la forma de manipularlos, de esta forma podemos ocultar el funcionamiento de una clase y exponer solo los datos que manipula (mediante propiedades o atributos), así como proveer de medios para poder manipular dichos datos (mediante métodos). De esta forma solo exponemos al mundo exterior la información y la forma de manipularla, ocultando los detalles usados para manejar esos datos y, lo que es más importante, evitando que nadie manipule de una forma no controlada dicha información.

Herencia: Es la cualidad de poder crear nuevas clases (o tipos) basadas en otras clases, de forma que la nueva clase obtenga todas las características de la clase que ha heredado, tanto los datos que contiene como la forma de manipularlos, pudiendo añadir nuevas características e incluso cambiar el comportamiento de algunas de las incluidas en la clase base, (siempre que así se haya previsto). Mediante la herencia podemos crear de forma fácil una jerarquía de clases que comparten un mismo comportamiento básico pero que cada nueva generación puede tener (y de hecho tiene) un nuevo comportamiento.

Polimorfismo: es la cualidad de implementar de forma particular algunas de las características que tienen las clases, de forma que cuando necesitemos usarlas no nos preocupe la implementación interna que cada una tenga, lo que realmente nos interesa o nos debe importar es que podemos usar esas características e incluso podamos acceder a ellas de forma anónima.

¿Por Que POO?

# Se parece mas al mundo real
# Permite Representar Modelos Complejos
# Muy apropiada para aplicaciones de Negocio (BPM)
# Las dos grandes plataformas del mercado han adoptado este paradigma Java y .NET

FUENTE
94  Programación / ASM / [Aporte] Hola Mundo en MASM32 en: 30 Agosto 2010, 01:13 am
Hola Mundo en MASM32

Ahora vamos a empezar programando el Hola Mundo en MASM32, usando la API de Win32. En mi anterior articulo podemos estructurar un programa en este Macro Assembler, en los archivos creador hay un archivo de extensión *.Inc y *.Asm, entonces en el primero archivo contendrá todas las librerías necesarias para ejecutar un programa, recuerden que esta librerias contiene funciones que no hacen las vida mas fácil !!!

El archivo *.Inc debe quedar de esta forma:

Código
  1. include windows.inc
  2. include user32.inc
  3. include kernel32.inc
  4.  
  5. includelib user32.lib
  6. includelib kernel32.lib
  7.  
  8. ;Sgmeto de datos
  9. .data
  10. ;Creamos un variable con el contenido de mi mensaje
  11. Mensaje db "HOLA MUNDO SOY 4ng3r",0
  12. Titulo db "Saludo en MASM32",0


El archivos *.Asm debe quedar de la siguiente forma:

Código
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4.  
  5. ;llamanos al archivo *.Inc
  6. include prueba1.inc
  7.  
  8. .code
  9. prueba1:
  10.  
  11. invoke MessageBox,NULL,addr Mensaje, addr Titulo, MB_OK
  12. invoke ExitProcess,0
  13.  
  14. end prueba1
  15.  

Una vez hallamos terminado, procedemos a ensamblarlo, estructurarlo y ejecutarlo. Este debería ser el resultado:

95  Programación / ASM / [Aporte de 4ng3r] MASM32 - RadAsm y Estructura Basica en: 30 Agosto 2010, 01:12 am
MASM32 - RadAsm y Estructura Basica

Introduccion

Masm32 es un excelente conjunto de herramientas de programación, distribuído por Hutch, que incluye el Macro Assembler de Microsoft, macros, ayudas y todas las librerías (.lib) y archivos 'include' (.inc) necesarios para programar aplicaciones en assembler para Windows.

Pagina Principal: http://www.masm32.com/

RadASM

Para que se nos haga mas fácil la vida, esta a nuestra dispositivo un IDE para Assembler llamado RadASM, una vez lo hayamos descargado e instalado, procedemos a crear nuestro primer proyecto:



En la opción de ensamblador escogemos masm y en tipo de proyecto marcamos Win32 App, le asignamos un nombre al proyecto yo escoji prueba1, la ruta donde va ser almacenada y Next

Luego escogemos los archivos a crear con el proyecto, en este caso activaremos la casilla de Asm, Inc y Bak


Estas opciones las dejamos tal cual y oprimimos Finish

Al lado derecho se pueden observar los archivos que hemos creado.


Abrimos el archivo Asm y nos ponemos programar

Estructura Basica

Un Programa para Masm32 debe seguir una estructura que pueda ser entendida por nuestro compilador, por ejemplo:

Código
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4.  
  5. include windows.inc
  6. include kernel32.inc
  7. includelib kernel32.lib
  8.  
  9. .data
  10.  
  11. .code
  12. prueba1:
  13.  
  14. invoke ExitProcess,0
  15.  
  16. end prueba1
  17.  

Explicacion:

.386 - Esta directiva sirve para establecer el tipo de procesador y sus instrucciones con lo que se va a trabajar

.model flat,stdcall - Aquí establecemos el modelo de memoria requerido para nuestro programa

option casemap:none - Esta opcion hace sensible las mayucualas de las minusculas, es decir, que B es difetente A

include y includelib - Como todo en Windows, Masm32 incluye archivos y librerías para manejar un gran numero de funciones que existen en este sistema operativo, es decir para usar el API. Por ejemplo en la estructura anterior use el ExitProcess. Include lo usamos para agregar o importar archivos *.asm o *.inc en cambio Includelib lo usamos para agregar librerías *.lib.
.data - Es el segmento en donde estableceremos los datos a utilizar en el programa, existen dos tipo de información la inicializada y la no inicializada (.data?)

.code - Es el segmento en donde le indicamos a Mam32 donde empieza el código y donde termina


FUENTE
96  Programación / Desarrollo Web / [03] Aplicaciones RIA con EXTJS – Introduccion- Instalacion del ExtJS en: 23 Julio 2010, 19:50 pm
Este es un video en donde presenta la instalación y la codificación del Hello World bajo este Framework


FUENTE
97  Programación / Desarrollo Web / Re: [Aporte] Aplicaciones RIA con EXTJS – Introduccion- ¿Que es RIA? en: 23 Julio 2010, 19:47 pm
si tiene muchas funcionalidades es muy buena herramienta !!!
98  Programación / Desarrollo Web / [02] Aplicaciones RIA con EXTJS – Introduccion- ExtJs en: 21 Julio 2010, 19:18 pm
Ext JS


Todo buen Ingeniero de Sistemas o de Desarrollo, debe saber que lo mas importante de un software es el Cliente en nuestro caso el usuario del sistema, Ext JS no ayuda a mejorar la experiencia del cliente con nuestro aplicativo WEB, aquí les tengo algunos ejemplos de este maravilloso Framework:


¿Donde puedo conseguir ExtJS?


Se puede descargar en su pagina oficial www.extjs.com y podemos encontrar tres tipos de descargar:

 1. Descarga completa: contiene el código fuente, el build, ejemplos y ayuda.
 2. La documentación: se puede descargar el API para futuras referencias, es conveniente hacerlo para poder utilizarla en nuestra propia máquina.
 3. Descarga personalizada: este tipo de descarga permite seleccionar los componentes específicos del framework, de esta manera se puede optimizar la librería.

Para nuestro caso les recomiendo descargar la primera opción.

Licencias

Bueno ExtJS maneja tres diferentes tipos de licencias:

 1. Licencia comercial: esta licencia la debes comprar cuando necesites desarrollar software propietario. El precio va desde $289 a $14,449 dólares dependiendo de la cantidad de desarrolladores.
 2. Licencia open source: este tipo de licencia aplica cuando deseas desarrollar un proyecto open source, esto implica liberar tu proyecto con licencia GNU GPL V3.
 3. Licencia revendedor: este tipo de licencia es necesaria adquirirla cuando deseas realizar un framework o librería basada sobre Ext JS. Para saber el costo es necesario ponerse en contacto con el equipo de Ext JS.

FUENTE
99  Programación / Desarrollo Web / Re: Duda con AJAX en: 17 Julio 2010, 02:31 am
mira esta linea

Código
  1. ajax.onreadystatechange = respuesta();

y cambiela por

Código
  1. ajax.onreadystatechange = respuesta;
100  Programación / Bases de Datos / Re: Historial de Cotizaciones, optimizacion en: 2 Julio 2010, 21:49 pm
osea que para llevar un historial me toca crear un nuevo registro con la nueva actualizacion ???
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines