FUNDAMENTOS DE PROGRAMACIÓN

Get Started. It's Free
or sign up with your email address
FUNDAMENTOS DE PROGRAMACIÓN by Mind Map: FUNDAMENTOS DE PROGRAMACIÓN

1. CLASES Y OBJETOS

1.1. CLASES

1.1.1. Los elementos de un sistema, los atributos y sus interacciones que estos producen para diseñar aplicaciones informáticas, los elementos abstractos del modelo orientado a objetos se denominan clases.

1.1.1.1. Una clase se crea o se define de la siguiente manera: Public class NombreClase{}

1.1.1.1.1. ELEMENTOS DE UNA CLASE una clase describe un tipo de objetos con caracteres comunes.

1.1.1.1.2. METODOS Y CONSYTRUCTORES

1.1.1.2. La clase se podría representar de la siguiente manera: clases = plantillas, objeto = sustantivo, método = verbo, atributo = característica. (NOMBRECLASE) (ATRIBUTOS) (METODOS)

1.2. OBJETOS

1.2.1. Es cualquier sustantivo y se compone de atributos y métodos

1.2.1.1. Para acceder a los objetos se escribe el nombre del objeto un punto y en seguida el nombre del elemento (NombreObjeto.NombreElemento)

2. EXTENSIÓN DE CLASES

2.1. COMPOSICIÓN

2.1.1. Es la creación de clases nuevas agrupando objetos de clases ya existentes en si se trata de agrupar uno o mas objetos para la creación de una clase

2.2. HERENCIA

2.2.1. Es la capacidad que tiene los lenguajes orientados a objetos de extender clases

2.2.1.1. EXTENCION DE CLASES

2.2.1.1.1. Es donde la subclase hereda atributos de la superclase, pero la subclase es la especialización de la superclase y se hace para la reutilizacion de codigo

2.2.1.2. POLIMORFISMO

2.2.1.2.1. Es la reutilizacion de código pero esta reutilizacion queda con nuevos atributos y métodos

2.2.2. JERARQUÍA DE HERENCIA

2.2.2.1. En java cualquier clase puede heredar atributos y métodos de su clase base y esta que heredo de la base heredar a otra y así consecutivamente y todas están enlasadas puesto que una hereda de otra o están entrelasadas

2.3. COMPATIBILIDAD DE TIPOS

2.3.1. COMPATIBILIDAD ASCENDENTE

2.3.1.1. La herencia establece una relación es-un, es decir, un Alumno es una Persona. En este sentido, cualquier objeto Alumno también se puede considerar Persona. Esto quiere decir que una variable de la clase Persona puede contener una referencia a un objeto Persona o a un objeto de cualquier clase derivada de Persona. A esta compatibilidad se le denomina compatibilidad ascendente.

2.3.1.1.1. Persona p1; Alumno al1 = new Alumno(“Jakintsu”,”Iheslari”,1980); p1 = al1; //Conversion ascendente

2.3.2. COMPATIBILIDAD DESCENDENTE

2.3.2.1. También se puede realizar la asignación de una variable de la clase Persona a una variable de la clase Alumno, siempre que la variable de la clase Persona guarde una referencia a un objeto Alumno o derivado de Alumno. Esta conversión hay que indicarla explícitamente. A esta compatibilidad se le denomina compatibilidad descendente, y si no es correcta, se lanza la excepción ClassCastException

2.3.2.1.1. Alumno otroAlumno; otroAlumno = (Alumno) p1; //p1 no es un objeto Alumno

3. AMPLIACIÓN DE CLASES

3.1. Hace referencia a las distintas clases que hay en el lenguaje y a como se pueden utilizar con sus distintas funciones unas de las clases que ya están predefinidos: Clase String y Clase Math

3.1.1. DERECHOS DE ACCESO

3.1.1.1. Hace referencia al control del acceso de los atributos e en las clases que se tienen como base

3.1.1.1.1. ACCESO PRIVADO

3.1.1.1.2. ACCESO DE PAQUETE

3.1.1.1.3. ACCESO PROTEGIDO

3.1.1.1.4. ACCESO PUBLICO

3.2. PAQUETES

3.2.1. Los paquetes son grupos de clases, interfaces y otros paquetes que están relacionados entre si estos aportan una forma de encapsulacion de nivel superior para las clases

3.2.1.1. un paquete se declara de la siguiente manera: Package NombrePaquete;

3.2.1.2. USO: para utilizar componentes de otros paquetes se debe utilizar la siguiente sentencia (import NombrePaquete;) pero si se quiere importar el paquete entero se debe hacer la siguiente sentencia (import Java.math*;) y si es una sola libreria de este paquete la siguiente sentencia (import java.util.NombreLibreria;)

3.2.1.3. NOMBRES: el nombre del paquete debe ser representativo a sus componentes. El nombre contiene la declaración del subpaquete, se incluye el nombre de la empresa para facilitar su identificacion (Package NombreEmpresa.NombrePaquete)

3.3. CLASES PREDEFINIDAS

3.3.1. Son las clases que ya están definidas por el lenguaje ya tiene atributos y métodos definidos para darles utilidad

3.3.1.1. CLASES ASOCIADAS A LOS TIPOS DE DATOS PRIMITIVOS: son las clases que se crearon para facilitar la programación ya que los tipos de datos primitivos no podían convertir cadenas de textos entonces se crearon las clases asociadas a los tipos de datos primitivos y estos son los siguientes:

3.3.1.1.1. CLASES: 1-Boolean 2-Character 3-Interger 4-Long 5-Float 6-Double

3.3.1.1.2. DATOS PRIMITIVOS: 1-boolean 2-char 3-int 4-long 5-float 6-double

3.3.2. CLASE MATH

3.3.2.1. Es una clase que contiene constantes y métodos de uso común en matemáticas, todas las operaciones se crearon con el tipo de dato double.

3.3.3. CLASE STRING

3.3.3.1. Es una clase que se usa para manejas cadenas de caracteres de cualquier longitud

4. ESTRUCTURAS DE ALMACENAMIENTO

4.1. Es la estructura que permite guardar tipos de datos y funciones para luego ser ejecutados en todo el programa según condiciones.

4.1.1. ARRAYS: arrays o vectores es una de las funciones de java que permiten almacenar muchos tipos de datos con el mismo nombre y poderlos utilizar de distintas maneras para definir un vector se utiliza la siguiente sentencia: TipoDato [] NombreArray; ll TipoDato NombreArray[];

4.1.1.1. ARRAYS MULTINACIONALES: a estos array multinacionales también se les puede llamar matrices estos arrays estan conformados por un array dentro de otro array uno ocupa casillas y el otro columnas para declarar una matriz se utiliza la siguiente sentencia: TipoDato [][] NombreArrray = new TipoDato[CANTIDAD][CANTIDAD];

4.1.1.1.1. BÚSQUEDA BINARIA EN ARRAYS: para buscar un dato en un array de manera binaria el algoritmo comienza desde la mitad del array y si la búsqueda es inferior retrocede el orden del algoritmo y si es mayor el algoritmo avanza