Está en la página 1de 9

Ministerio del Poder Popular Instituto Universitario de

Para la Educación Universitaria Tecnología de Puerto Cabello


Ciencia y Tecnología

REPÚBLICA BOLIVARIANA DE VENEZUELA


MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN
UNIVERSITARIA, CIENCIA Y TECNOLOGÍA
INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE PUERTO CABELLO
PROGRAMA NACIONAL DE FORMACIÓN
INGENIERÍA EN INFORMÁTICA

PROGRAMACIÓN ORIENTADA A OBJETOS

AUTOR: Br. Arnaez Néstor.


C.I.: 18.562.603
Sección: 1-73

PUERTO CABELLO, OCTUBRE DE 2018


Programación Orientada Objetos (POO).
Es un paradigma de programación que usa objetos y sus interacciones, para diseñar
aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia,
abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década
de los años 1990. En la actualidad, existe variedad de lenguajes de programación que
soportan la orientación a objetos.

Definición de Objeto.
Entidad provista de un conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos) los mismos que consecuentemente reaccionan a
eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos
del sistema (del programa). Es una instancia a una clase.

Definición de Clase.
Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La
instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

Definición de Herencia.
Es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y
operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma
D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en C. Los
componentes registrados como "privados" (private) también se heredan, pero como no
pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos
a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de OOP.

Definición de Mensaje.
Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos
con ciertos parámetros asociados al evento que lo generó.

Definición de Polimorfismo.
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el
mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente
al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de
objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento
en una referencia producirá el comportamiento correcto para el tipo real del objeto
referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama
asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más
estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la
sobrecarga de operadores de C++.

Definición de Package o Paquete.


Para hacer que una clase sea más fácil de localizar y utilizar así como evitar conflictos
de nombres y controlar el acceso a los miembros de una clase, las clases se agrupan en
paquetes. Un paquete es un conjunto de clases e interfaces relacionadas. La forma general de
la declaración package es la siguiente:
package nombrePaquete;
Donde nombrePaquete puede constar de una sola palabra o de una lista de nombres de
paquetes separados por puntos.

Definición de Clases Abstractas.


Una clase que declara la existencia de métodos pero no la implementación de dichos
métodos (o sea, las llaves { } y las sentencias entre ellas), se considera una clase abstracta.
Una clase abstracta puede contener métodos no-abstractos pero al menos uno de los métodos
debe ser declarado abstracto.
Para declarar una clase o un método como abstractos, se utiliza la palabra reservada
abstract.
abstract class Drawing
{
abstract void miMetodo(int var1, int var2);
String miOtroMetodo( ){ ... }
}
Una clase abstracta no se puede instanciar pero si se puede heredar y las clases hijas
serán las encargadas de agregar la funcionalidad a los métodos abstractos. Si no lo hacen así,
las clases hijas deben ser también abstractas.

Definición de Método.
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se
desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento,
es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del
objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
Tipos de Datos que Maneja JAVA.
Un dato siempre lleva asociado un tipo de dato, que determina el conjunto de valores
que puede tomar. En Java toda la información que maneja un programa está representada por
dos tipos principales de datos:
• Datos de tipo básico o primitivo.
• Referencias a objetos.
Los tipos de datos básicos o primitivos no son objetos y se pueden utilizar
directamente en un programa sin necesidad de crear objetos de este tipo. La biblioteca Java
proporciona clases asociadas a estos tipos que proporcionan métodos que facilitan su manejo.
Los tipos de datos primitivos que soporta Java son:
Tipo de Representación Tamaño Rango de Valores Valor Clase
dato (Bytes) por Asociada
defecto
byte Numérico Entero 1 -128 a 127 0 Byte
con signo
short Numérico Entero 2 -32768 a 32767 0 Short
con signo

int Numérico Entero 4 -2147483648 0 Integer


con signo a 2147483647
long Numérico Entero 8 -9223372036854775808 0 Long
con signo a
9223372036854775807
float Numérico 4  3.4x10-38 a  3.4x1038 0.0 Float
en Coma flotante
de precisión
simple Norma
IEEE 754

double Numérico 8  1.8x10- 0.0 Double


en Coma flotante 308
a  1.8x10308
de precisión
doble Norma
IEEE 754

char Carácter Unicode 2 \u0000 a \uFFFF \u0000 Character

boolean Dato lógico - true ó false false Boolean

void - - - - Void

1. DATOS NUMÉRICOS ENTEROS


En Java los representan los tipos: byte, short, int, long. El tipo de dato numérico entero
es un subconjunto finito de los números enteros del mundo real. Pueden ser positivos o
negativos.
2. DATOS NUMÉRICOS REALES
En Java los representan los tipos: float, double. El tipo de dato numérico real es un
subconjunto finito de los números reales. Siempre llevan un punto decimal y también pueden
ser positivos o negativos. Los números reales tienen una parte entera y una parte decimal.
3. DATOS DE TIPO CARÁCTER
En Java se representa con el tipo char. Un dato de tipo carácter se utiliza para representar
un carácter dentro del rango \u0000 a \uFFFF (números desde 0 hasta 65535) en Unicode.En
realidad un dato de tipo char contiene un número entero dentro del rango anterior que
representa un carácter.
En Java se utiliza el código Unicode para la representación de caracteres. Este código
actualmente representa los caracteres de la mayoría de idiomas escritos en todo el mundo.
Los 127 primeros caracteres de Unicode corresponden al código ASCII. El Código ASCII
(American Standard Code for Information Interchange o Código Estándar Americano para
el Intercambio de Información) asigna valores numéricos a las letras, números, signos de
puntuación y algunos otros caracteres especiales.
4. DATOS DE TIPO LÓGICO
Se representan con el tipo boolean. Los datos de este tipo sólo pueden contener dos
valores: true (verdadero) ó false (falso).
Ejemplo de declaración de variables lógicas:
boolean primero;
boolean par = false;
Los tipos de datos lógicos son también conocidos como booleanos en honor del
matemático inglés George Bool, que desarrolló la teoría conocida como álgebra de bool que
fue la base para la representación de los circuitos lógicos.

Operadores que Utiliza y Precedencia.


Los operadores son símbolos especiales que por lo común se utilizan en expresiones.
La tabla siguiente muestra los distintos tipos de operadores que utiliza Java.

Operador Significado Ejemplo

Operadores aritméticos
+ Suma a+b
- Resta a-b
* Multiplicación a*b
/ División a/b
% Módulo a%b
Operadores de asignación
= Asignación a=b
+= Suma y asignación a += b (a=a + b)
-= Resta y asignación a -= b (a=a - b)
*= Multiplicación y asignación a *= b (a=a * b)
/= División y asignación a / b (a=a / b)
%= Módulo y asignación a % b (a=a % b)
Operadores relacionales
== Igualdad a == b
!= Distinto a != b
< Menor que a<b
> Mayor que a>b
<= Menor o igual que a <= b
>= Mayor o igual que a >= b
Operadores especiales
++ Incremento a++ (postincremento)
++a (preincremento)
-- Decremento a-- (postdecremento)
--a (predecremento)
(tipo)expr Cast a = (int) b
+ Concatenación de cadenas a = "cad1" + "cad2"
. Acceso a variables y métodos a = obj.var1
( ) Agrupación de expresiones a = (a + b) * c
La tabla siguiente muestra la precedencia asignada a los operadores, éstos son listados
en orden de precedencia. Los operadores en la misma fila tienen igual precedencia:

Operador Notas
. [] () Los corchetes se utilizan para los
arreglos
++ -- ! ~ ! es el NOT lógico y ~ es el
complemento de bits
new (tipo)expr new se utiliza para crear
instancias de clases
* / % Multiplicativos
+- Aditivos
<< >> >>> Corrimiento de bits
< > <= >= Relacionales
== != Igualdad
& AND (entre bits)
^ OR exclusivo (entre bits)
| OR inclusivo (entre bits)
&& AND lógico
|| OR lógico
?: Condicional
= += - Asignación
= *= /= %= &= ^= |= <<= >>= >>>=

Todos los operadores binarios que tienen la misma prioridad (excepto los operadores
de asignación) son evaluados de izquierda a derecha. Los operadores de asignación son
evaluados de derecha a izquierda.
Tipos de Variables en JAVA.
Las variables son localidades de memoria en las que pueden almacenarse datos. Cada
una tiene un nombre, un tipo y valor. Java tiene tres tipos de variables:
• Variables de Instancia: Se utilizan para definir los atributos de un objeto.
• Variables de Clase: Son similares a las variables de instancia, con la excepción de
que sus valores son los mismos para todas las instancias de la clase.
• Variables Locales: Se declaran y se utilizan dentro de las definiciones de los
métodos.
A diferencia de otros lenguajes, Java no tiene variables globales, es decir, variables
que son vistas en cualquier parte del programa. Java es un lenguaje "fuertemente tipeado o
tipificado" por lo que es necesario especificar el tipo de dato para cada una de las variables
que se vayan a utilizar en un programa. El nombre de la variable debe de ser un identificador
válido, y se usa para referirse a los datos que contiene una variable.
El tipo de una variable determina los valores que puede almacenar y las operaciones
que se pueden hacer sobre ella. Para dar a una variable un tipo y un nombre, se escribe una
declaración de una variable, que tiene la siguiente forma:
TipoDato nombreVariable;
Ej.
String nombre; // variable de tipo String
int edad; // variable de tipo int
Punto p; // variable del tipo Punto
Se pueden escribir varios nombres de variables del mismo tipo en una sola línea,
int x, y, z;
String nombre, apellido;
También se puede asignar un valor inicial a las variables al momento de crearlas,
String nombre, apellido="MiApellido";
int edad = 24;

Definición de Recolector de Basura.


La recolección de basura o garbage collector es la técnica por la cual el entorno de
objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada,
los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el
programador no debe preocuparse por la asignación o liberación de memoria, ya que el
entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la
mayoría de los lenguajes híbridos que se extendieron para soportar el Paradigma de
Programación Orientada a Objetos como C++ u Object Pascal, esta característica no existe y
la memoria debe desasignarse manualmente.