 Las principales diferencias entre la programación estructurada y la orientada
a objetos son:
 La programación orientada a objetos es más moderna, es
una evolución de la programación estructurada
 La programación orientada a objetos se basa en lenguajes
que soportan sintáctica y semánticamente la unión entre
los tipos abstractos de datos y sus operaciones (a esta
unión se la suele llamar clase).
 La programación orientada a objetos incorpora en su
entorno de ejecución mecanismos tales como el
polimorfismo y el envío de mensajes entre objetos.
El paradigma de programación representa un
enfoque particular o filosofía para la
construcción del software.
El enfoque no es mejor uno que otro sino que
cada uno tiene ventajas y desventajas. También
hay situaciones donde un paradigma resulta
más apropiado que otro.
 El paradigma de programación se refiere a:
¿Estilo de Programación?
Manera de Visualizar y Resolver Problemas de Programación
Procedural, Imperativo
Lógico, Declarativo
Visual
Paralelo
Orientado a Objetos
Filosofía
Historia, Objetivos y Metas
Modelos y Enfoques
Conceptos
Principios
Soporte
Notación, Metodologías
Herramientas y Tecnologías
El paradigma imperativo o por procedimientos
es considerado el más común y está
representado, por ejemplo, por el C o por
BASIC.
El paradigma funcional está representado por
la familia de lenguajes LISP (en particular
Scheme), ML o Haskell.
El paradigma lógico, un ejemplo es PROLOG.
El paradigma orientado a objetos. Un lenguaje
completamente orientado a objetos es
Smalltalk.
Actualmente el paradigma de programación
más usado debido a múltiples ventajas respecto
a sus anteriores, es la programación orientada
a objetos.
 La creación de un programa involucra ensamblar objetos y
hacerlos interactuar entre ellos
7
 Una Clase Describe Un Grupo De Objetos Que
Comparten Propiedades Y Métodos Comunes
 Una Clase Es Una Plantilla Que Define Qué
Forma Tienen Los Objetos De La Clase
 Una Clase Se Compone De:
 Información: Campos (Atributos, Propiedades)
 Comportamiento: Métodos (Operaciones, Funciones)
 Un Objeto Es Una Instancia De Una Clase
8
class Circulo {
// campos
// métodos
// constructores
// main()
}
9
class Circulo {
// campos
double radio = 5;
String color;
static int numeroCirculos = 0;
static final double PI = 3.1416;
// métodos
// constructores
// main( )
}
10
 Instrucciones que operan sobre los datos de un objeto para
obtener resultados
 Tienen cero o más parámetros
 Pueden retornar un valor o pueden ser declarados tambien
para indicar que no retornan ningún valor
11
class Circulo {
// campos
double radio = 5;
String color;
static int numeroCirculos = 0;
static final double PI = 3.1416;
// métodos
double getCircunferencia() {
return getCircunferencia(radio);
}
static double getCircunferencia(double r) {
return 2 * r * PI;
}
// constructores
// main( )
} 12
 Acceso a campos y métodos de instancia: se
utiliza la sintaxis "objeto."
Circulo c1 = new Circulo();
c1.radio = 5;
c1.color = "rojo";
double d = c1.getCircunferencia();
 Acceso a campos y métodos static: se utiliza
la sintaxis "clase."
Circulo.numeroCirculos++;
int n = Circulo.getNumeroCirculos();
13
 La clase es el espacio donde se empaquetan atributos y
métodos
14
 Un lenguaje de programación es un idioma artificial
diseñado para expresar procesos que pueden ser llevadas a
cabo por máquinas como las computadoras.
 Está formado por un conjunto de símbolos y reglas
sintácticas y semánticas que definen su estructura y el
significado de sus elementos y expresiones.
 Al proceso por el cual se escribe, se prueba, se depura, se
compila y se mantiene el código fuente de un programa
informático se le llama programación.
 Es aquel que utilizamos para poder transmitir
ordenadamente nuestras ideas a una computadora.
TIPOS DE LENGUAJES
 Existen 4 tipos de LP:
 Lenguaje máquina 00110011
 Lenguaje ensamblador ld a, #10
 Lenguajes de alto nivel for(i=0;i<10;i++)
 Lenguajes orientados a objetos class persona{ }
COMO SE CLASIFICAN
 Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los
programas (Cobol, Pascal, C, Ada).
 Lenguajes declarativos. Los programas se construyen mediante descripciones de
funciones o expresiones lógicas (Lisp, Prolog).
 Lenguajes orientados a objetos. El diseño de los programas se basa mas en los datos
y su estructura. La unidad de proceso es el objeto y en el se incluyen los datos
(variables) y las operaciones que actúan sobre ellos (Java, Smalltalk, C++).
 Lenguajes orientados al problema. Diseñados para problemas específicos,
principalmente de gestión, suelen ser generadores de aplicaciones. (Lenguajes de 4ª
Generacion 4GL, Progress, ABAP, ORACLE)
 Lenguajes naturales. Están desarrollándose nuevos lenguajes con el principal
objetivo de aproximar el diseño y construcción de programas al lenguaje de las
personas.
LENGUAJE DE PROGRAMACIÓN ORIENTADO A
OBJETOS
 Entre los lenguajes orientados a objetos destacan los
siguientes:
 Action Script , Ada, C++, C#, Clarion, C++Builder, D, Delphi, Harbour,
Eiffel, Java, Lexico (en castellano), Objective-C, Ocaml, Oz, Perl (soporta
herencia múltiple), PHP (en su versión 5) , PowerBuilder, Python, Ruby,
Smalltalk, Magik (SmallWorld), VB.NET Visual FoxPro , XBase++
 Utilizaremos en nuestros ejemplos el lenguaje Java en su versión
J2SDK.
 El diseño orientado a objeto puede ser programado en
cualquier lenguaje.
 Los desarrollos se organizan alrededor de los datos, y no de
las funcionalidades.
 Afortunadamente han aparecido nuevos lenguajes que
facilitan la programación orientada a objetos, como es el
caso de Java.
 En adelante para explicar las funcionalidades de programación
orientadas a objetos adoptaremos código de Java como ejemplo

Programación Orientada a Objetos Programación Orientada a Objetos

  • 2.
     Las principalesdiferencias entre la programación estructurada y la orientada a objetos son:  La programación orientada a objetos es más moderna, es una evolución de la programación estructurada  La programación orientada a objetos se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones (a esta unión se la suele llamar clase).  La programación orientada a objetos incorpora en su entorno de ejecución mecanismos tales como el polimorfismo y el envío de mensajes entre objetos.
  • 3.
    El paradigma deprogramación representa un enfoque particular o filosofía para la construcción del software. El enfoque no es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro.
  • 4.
     El paradigmade programación se refiere a: ¿Estilo de Programación? Manera de Visualizar y Resolver Problemas de Programación Procedural, Imperativo Lógico, Declarativo Visual Paralelo Orientado a Objetos Filosofía Historia, Objetivos y Metas Modelos y Enfoques Conceptos Principios Soporte Notación, Metodologías Herramientas y Tecnologías
  • 5.
    El paradigma imperativoo por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC. El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell. El paradigma lógico, un ejemplo es PROLOG. El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.
  • 6.
    Actualmente el paradigmade programación más usado debido a múltiples ventajas respecto a sus anteriores, es la programación orientada a objetos.
  • 7.
     La creaciónde un programa involucra ensamblar objetos y hacerlos interactuar entre ellos 7
  • 8.
     Una ClaseDescribe Un Grupo De Objetos Que Comparten Propiedades Y Métodos Comunes  Una Clase Es Una Plantilla Que Define Qué Forma Tienen Los Objetos De La Clase  Una Clase Se Compone De:  Información: Campos (Atributos, Propiedades)  Comportamiento: Métodos (Operaciones, Funciones)  Un Objeto Es Una Instancia De Una Clase 8
  • 9.
    class Circulo { //campos // métodos // constructores // main() } 9
  • 10.
    class Circulo { //campos double radio = 5; String color; static int numeroCirculos = 0; static final double PI = 3.1416; // métodos // constructores // main( ) } 10
  • 11.
     Instrucciones queoperan sobre los datos de un objeto para obtener resultados  Tienen cero o más parámetros  Pueden retornar un valor o pueden ser declarados tambien para indicar que no retornan ningún valor 11
  • 12.
    class Circulo { //campos double radio = 5; String color; static int numeroCirculos = 0; static final double PI = 3.1416; // métodos double getCircunferencia() { return getCircunferencia(radio); } static double getCircunferencia(double r) { return 2 * r * PI; } // constructores // main( ) } 12
  • 13.
     Acceso acampos y métodos de instancia: se utiliza la sintaxis "objeto." Circulo c1 = new Circulo(); c1.radio = 5; c1.color = "rojo"; double d = c1.getCircunferencia();  Acceso a campos y métodos static: se utiliza la sintaxis "clase." Circulo.numeroCirculos++; int n = Circulo.getNumeroCirculos(); 13
  • 14.
     La clasees el espacio donde se empaquetan atributos y métodos 14
  • 15.
     Un lenguajede programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras.  Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.  Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.  Es aquel que utilizamos para poder transmitir ordenadamente nuestras ideas a una computadora.
  • 16.
    TIPOS DE LENGUAJES Existen 4 tipos de LP:  Lenguaje máquina 00110011  Lenguaje ensamblador ld a, #10  Lenguajes de alto nivel for(i=0;i<10;i++)  Lenguajes orientados a objetos class persona{ }
  • 17.
    COMO SE CLASIFICAN Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los programas (Cobol, Pascal, C, Ada).  Lenguajes declarativos. Los programas se construyen mediante descripciones de funciones o expresiones lógicas (Lisp, Prolog).  Lenguajes orientados a objetos. El diseño de los programas se basa mas en los datos y su estructura. La unidad de proceso es el objeto y en el se incluyen los datos (variables) y las operaciones que actúan sobre ellos (Java, Smalltalk, C++).  Lenguajes orientados al problema. Diseñados para problemas específicos, principalmente de gestión, suelen ser generadores de aplicaciones. (Lenguajes de 4ª Generacion 4GL, Progress, ABAP, ORACLE)  Lenguajes naturales. Están desarrollándose nuevos lenguajes con el principal objetivo de aproximar el diseño y construcción de programas al lenguaje de las personas.
  • 18.
    LENGUAJE DE PROGRAMACIÓNORIENTADO A OBJETOS  Entre los lenguajes orientados a objetos destacan los siguientes:  Action Script , Ada, C++, C#, Clarion, C++Builder, D, Delphi, Harbour, Eiffel, Java, Lexico (en castellano), Objective-C, Ocaml, Oz, Perl (soporta herencia múltiple), PHP (en su versión 5) , PowerBuilder, Python, Ruby, Smalltalk, Magik (SmallWorld), VB.NET Visual FoxPro , XBase++  Utilizaremos en nuestros ejemplos el lenguaje Java en su versión J2SDK.
  • 19.
     El diseñoorientado a objeto puede ser programado en cualquier lenguaje.  Los desarrollos se organizan alrededor de los datos, y no de las funcionalidades.  Afortunadamente han aparecido nuevos lenguajes que facilitan la programación orientada a objetos, como es el caso de Java.  En adelante para explicar las funcionalidades de programación orientadas a objetos adoptaremos código de Java como ejemplo