Diseño Basado en Componentes. Curso 2008 / 09

Documentos relacionados
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN VISUAL BASIC.NET

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv

PROGRAMACION ORIENTADA A OBJETOS EN C++

Equivalencia de instrucciones de C# y VB.NET (I) Cómo hacer las mismas cosas (o casi) en C# y Visual Basic.NET

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Programación Orientada a Objetos (POO)

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

Java Avanzado Facultad de Ingeniería. Escuela de computación.

En este ejemplo también vamos a crear la capa Entidades que va a servir para modelar nuestra base de datos.

Introducción a la Orientación a Objetos

Universidad de Cantabria

Tema 3: Programación orientada a objetos (I)

1. crear la base de datos BANCO, dentro de ella crear las siguientes tablas y establecer la siguiente relación.

4.1 - OBJETOS Y CLASES

b) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

La sintaxis básica para definir una clase es la que a continuación se muestra:

Programación orientada a objetos

Programación Orientada a Objetos en C#.NET CAPÍTULO 5 H E R E N C I A. Ing. Bruno López Takeyas, M.C.

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

Introducción a Java LSUB. 30 de enero de 2013 GSYC

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Tema 7. El sistema de clases

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Célula UABC-Live.net. Universidad Autónoma. de Baja California. Facultad de Ciencias Químicas. e Ingeniería.

La Herencia: Teoría (1)

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización

Generics y Visual Basic.NET

Tema 3. Programación orientada a objetos en Java (Parte 1)

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

Programación orientada a objetos en Visual Basic.NET

Capítulo 16. Diagrama de Clases UML

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Programación en Capas con VB.net y PostgreSQL

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.

POLIMORFISMO "una interfaz, múltiples métodos".

5. Subprogramas Fundamentos de Informática

Tema: Introducción al IDE de Microsoft Visual C#.

GUÍA DE ESTILO EN JAVA

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

Modulo 11. Clases y Objetos en Java

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

FRAMEWORK 2 Recepción de SMS

Tema 7: Polimorfismo. Índice

FUNDAMENTOS DE INFORMÁTICA

Conversión entre Tipos

INDICE Prefacio 1. Fundamentos de Java 2. Introducción a los tipos de datos y operadores

Principios de Computadoras II

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

llamada a la función Val(num) cambiosigno(n) redondeo(num,3)

Forma Básica Clase Java

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

Lenguajes de Programación Curso Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces Clases abstractas 2

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

Conceptos más avanzados de Programación Orientada a Objetos

Funciones y Clases Amigas en C++ Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional

Curso de Java POO: Programación orientada a objetos

Evaluación Diagnóstico puesta en común. Escuela Técnica ORT - TIC

Prácticas de Programación

Conceptos de Programación Orientada a Objetos

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Clases Abstractas e Interfaces

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

03.04 Unity. Integración de Sistemas. Parte II. Diseño e implementación de aplicaciones Web con.net

Introducción. Curso de Middleware. Práctica 6. 1 de 9

Capítulo 6. Introducción a la POO

Programación n con Visual Basic.NET. Visual Basic.NET. Francisco Ruiz Manuel Ángel Serrano

CURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance

Las plantillas permiten definir funciones genéricas.

El patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo.

Computación II. Introducción a Visual Basic

CAPÍTULO 5 H E R E N C I A (Clases abstractas e interfaces)

1

JAVA -INTRODUCCIÓN AL LENGUAJE

Programación Orientada a Objetos con Java

1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?

Java en 2 horas. Rodrigo Santamaría

Java Inicial (20 horas)

Pasos a seguir para crear una aplicación visual en el lenguaje de programación Java con Netbeans IDE.

Aprender a desarrollar con JavaScript

Boletín 7 Herencia. String Titular; Nombre del dueño de la cuenta double Saldo: Dinero disponible en la cuenta

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

POO en Java IV: Herencia (Parte 1)

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

Diagramas de secuencia

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia

Tema 6: Programación Orientada a Objetos en C# Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle

TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN N ORIENTADA A OBJETOS OBJETOS (I) OBJETOS (II)

PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B)

Programación en Java. Programación en OO

Transcripción:

Beneficios de OOP Diseño Basado en Componentes Ingeniería Informática Universidad Carlos III de Madrid Programación Orientada a Objetos (OOP) en VB.NET Diseño Basado en Componentes. Curso Conceptos orientados a objetos. Abstracción: Identificación de objetos a través de sus aspectos conceptuales. Encapsulación: Separación de la interfaz del objeto de su implementación. Herencia: Partiendo de una superclase (clase padre) se crean nuevas subclases (clases hijas) Polimorfismo: Ante el mismo mensaje se realizarán distintas acciones según el objeto al que sea aplicado. Sobrecarga: Varios métodos con idéntico nombre dentro de la misma clase, distinguiéndose por la lista de parámetros. OOP: Clase Clase Vehículo Especificación de un conjunto de objetos con estructura y comportamiento comunes. Comportamiento (operaciones): operaciones o servicios que pueden realizar los objetos de la clase, en respuesta a mensajes recibidos de otros objetos. Estado (atributos): valores almacenados en el objeto de la clase, resultado de las operaciones pasadas. Los atributos y las operaciones relacionadas se empaquetan juntas y se definen como un tipo. Molde para crear objetos. Estado Comportamiento Vehículo matrícula marca modelo año arrancar() acelerar() cambiarmarcha() frenar() apagar() 1

OOP: Objeto Cuando se crea una instancia variable de una clase se le llama OBJETO. Molde para fabricar Figuras rectangulares Instancias de la clase Figura (iguales en Forma, pero con propiedad Color distinta) Objeto de tipo Vehículo micoche:vehículo matrícula = 2322 CLS marca = Toyota modelo = Corolla año = 2005 Clases en VB.NET (I) Normalmente un fichero de código por clase (aunque se pueden incluir varias clases en un mismo fichero). Una clase sólo puede heredar de una única clase (es decir, no se permite herencia múltiple). Public Class NombreClase código de la clase Clases en VB.NET (II) Control de acceso a los miembros de una clase: Public: El miembro clase será accesible por todo el código de la clase, sus subclases y otras clases. Private: El miembro de la clase sólo será accesible por el código de la clase. Protected: La clase será accesible desde el código de la clase y desde cualquier subclase. Friend: La clase será accesible por todo el código de su proyecto o ensamblado. Protected Friend: Combinación de los dos modificadores de acceso. 2

Información de la Clase (I) Campo: variable, generalmente de ámbito público, accesible desde el exterior de la clase. Public Class Vehiculo Campo de la clase para guardar el identificador del vehículo Public identificador As Integer Información de la Clase (II) Propiedad: definida por dos elementos: una variable de propiedad y un procedimiento de propiedad. Variable de propiedad: variable con ámbito privado a nivel de la clase que se encarga de guardar el valor de la propiedad (atributo). Sólo lectura: ReadOnly Property Sólo escritura: WriteOnly Property Procedimiento de propiedad: encargado de realizar las operaciones de acceso (GET) y asignación (SET) de valores a la variable de propiedad. Información de la Clase (III) Métodos de la Clase (I) Variable de Propiedad Procedimiento de Propiedad Public Class Vehiculo Propiedad Private _matr As String Public Property Matricula () As String Get Return _matr End Get Lectura Set (ByVal Value As String) _matr = Value End Set End Property Escritura Miembros de una clase que definen el comportamiento de los objetos. Procedimiento tipo Sub. Procedimiento tipo Function. Parámetros por valor: ByVal. Parámetros por referencia: ByRef. 3

Métodos de la Clase (II) Procedimiento Sub Sub Prueba (ByVal param1 as Integer, ByRef param2 as Integer) Procedimiento Function Function Prueba (ByVal param1 as Integer) as Integer Dim varaux as Integer Prueba = varaux Return varaux End Function Métodos de la clase (III) Sobrecarga de métodos (mismo nombre, distinta lista de parámetros): Para indicar que el método está sobrecargado, utilizar la palabra clave Overloads en la declaración del método. Sobreescritura de métodos (polimorfismo): Para indicar que el método puede ser sobreescrito, utilizar la palabra clase Overridable en la declaración del método. Para indicar que el método sobreescribe a otro ya existente, utilizar la palabra clave Overrides en la declaración del método. Para indicar que el método no puede ser sobreescrito, utilizar la palabra clave NotOverridable en la declaración del método. Métodos Constructores Método público Sub con el nombre New(). Se invoca cuando se crea el objeto (instanciación). Útil para tareas de configuración iniciales sobre el objeto. Pueden estar sobrecargados. Public Class Vehiculo Public Sub New (ByVal marca as String, ByVal modelo As String) End Function _marca = marca _modelo = modelo Me y MyBase (I) Me: Se utiliza para tener acceso a los miembros de la propia clase (ej., Me.calcularSalario(), Me._marca). MyBase: Se utiliza para tener acceso a los miembros de una clase base desde su correspondiente subclase. 4

Me y MyBase (II) Public Class Administrativo : Inherits Empleado Public Overloads Sub calcularincentivos(byval horas As Integer) ' Se llama a la clase base con MyBase para hacer ' en primer lugar los mismos cálculos de incentivos ' de la clase Empleado MyBase.calcularIncentivos() ' Después se hacen los cálculos propios de esta clase Me._incentivos += horas * 15 Clases Abstractas No permite la instanciación directa de objetos a partir de ella. Se debe utilizar la palabra clase MustInherit en el momento de su declaración. Los miembros abstractos de la clase irán declarados utilizando la palabra clave MustOverride. Public MustInherit Class Vehiculo Public Sub calcularcredito(byval balance As Integer) Me._credito = balance * 0,4 Public MustOVerride Sub calcularimpuestos () Clases Selladas o No Heredables Objetos en VB.NET (I) Toda clase declarada en el código es en principio heredable. Para hacer que una clase no pueda tener subclases, se debe utilizar la palabra clase NotInheritable en el momento de su declaración. Public NotInheritable Class Fichero Código de la clase Objetos en VB.NET: Declaración e instanciación en distintas líneas de código. Declaración e instanciación en la mísma línea de código. Declaración e instanciación simultánea. 5

Objetos en VB.NET (II) Declaración e instanciación en diferentes líneas de código. Objecto Clase Objetos en VB.NET (III) Declaración e instanciación en la misma línea de código. Objecto Clase Palabra clave (instanciación) Dim micoche As Vehiculo micoche = New Vehiculo( Toyota, Corolla ) Declaración Instanciación Dim micoche As Vehiculo = New Vehiculo( Toyota, Corolla ) Palabra clave (instanciación) Constructor de la clase Coche con sus parámetros Declaración e Instanciación Constructor de la clase Coche con sus parámetros Objetos en VB.NET (IV) Declaración e instanciación simultánea. Palabra clave (instanciación) Dim micoche As New Vehiculo( Toyota, Corolla ) Objecto Constructor de la clase Coche con sus parámetros Clase Objetos en VB.NET (V) Acceso a un campo de la clase Sub Main () Dim micoche As Vehiculo micoche = new Vehiculo () micoche.identificador = 975 Declaración e Instanciación 6

Objetos en VB.NET (VI) Acceso a una propiedad Sub Main () Dim micoche As Vehiculo micoche = new Vehiculo ( Toyota, Corolla ) micoche.matricula = 8937 CZL Console.WriteLine ( Matrícula coche: & _ micoche.matricula) Console.ReadLine() Interfaces Naturaleza declarativa: lista de propiedades y métodos que serán codificados en una o varias clases. Una clase puede implementar múltiples interfaces, pero solo puede heredar de una única clase. Las interfaces pueden proporcionar polimorfismo. Se utilizará la palabra clave Interface en su declaración. La clase que la implemente utilizará la palabra clave Implements en su declaración. Public Interface Cadena ReadOnly Property Longitud() As Integer Function ObtenerValor() As String End Interface Public Class Empleado : Implements Cadena Código de la clase Namespaces en VB.NET Un namespace o espacio de nombres, es un contenedor lógico que permiten organizar de manera óptima las clases dentro de un proyecto o ensamblado. Namespace Personal Public Class Empleado Código de la clase Imports Gestion.Personal Public Class Principal Public Shared Sub Main Dim Emp As Empleado Diseño Basado en Componentes Ingeniería Informática Universidad Carlos III de Madrid Programación Orientada a Objetos (OOP) en VB.NET Diseño Basado en Componentes. Curso 7