Logo Studenta

03 Semana_3_Fundamentos_Dart_iii

¡Este material tiene más páginas!

Vista previa del material en texto

Semana 3: Fundamentos de Dart (iii)
Facultad de Ingeniería de Sistema e Informática
LENGUAJE DE PROGRAMACIÓN V
Ing. Angel Marthans Ruiz, Mg.
Objetivos: 
Al finalizar, el alumno logrará:
 Definir Clases
 Implementar Constructores
 Implementar Miembros estáticos
2
Temas:
 Clases
 Constructores
 Miembros Estáticos
3
Clases
4
Las clases son como planos arquitectónicos que indican al sistema cómo crear un objeto, donde 
un objeto son los datos reales almacenados en la memoria del ordenador. 
Si una clase es el plano, se podría decir que el objeto es como la casa que representa el plano. 
Por ejemplo, la clase String describe sus datos como una colección de unidades de código UTF-
16, pero un objeto String es algo concreto como '¡Hola, Mundo!.
Las clases son un componente esencial de la programación orientada a objetos. Se utilizan para 
combinar datos y funciones dentro de una única estructura.
Clases
5
Clases
6
Las funciones existen para transformar los datos. Las funciones dentro de una clase se conocen 
como métodos, mientras que los constructores son métodos especiales que se utilizan para 
crear objetos a partir de la clase.
Definición de una Clase Creación de un Objeto desde una Clase
• Las clases se definen por 
fuera del método main().
• La palabra clave new es 
opcional.
Clases
7
Asignación de valores a Propiedades
Clases
8
Encapsulación
Uno de los principios básicos de la programación orientada a objetos es la encapsulación. Se 
trata del principio de ocultar los datos internos y la lógica de una clase al mundo exterior. Esto 
tiene algunas ventajas:
 La clase controla sus datos, incluido quién los ve y cómo se modifican.
 Un control aislado significa que la lógica es más fácil de razonar.
 Datos ocultos significa mayor privacidad.
 La encapsulación impide que clases no relacionadas accedan a los datos y los modifiquen, lo 
que puede provocar fallos difíciles de detectar.
 Puede cambiar los nombres de las variables internas y la lógica sin romper las cosas en el 
mundo exterior.
Clases
9
Cómo conseguimos la encapsulación en Dart?
Ocultar componentes internos
Puedes hacer que una variable sea privada en Dart anteponiendo al nombre un guión bajo.
El nombre _value comienza con un guión bajo, por lo que es privado. Esto significa que no hay 
forma de acceder al ID de usuario y al nombre fuera de la clase, lo que hace que tu objeto sea un 
poco inútil. Puedes resolver este problema añadiendo un getter.
Clases
1 0
Getters
Un getter es un método especial que devuelve el valor de una variable de campo privado. Es la 
cara de una variable privada. En Java o C++, podemos ver métodos getter con nombres como 
getColor o getWidth . Siguiendo esta conversión su clase Dart se vería así:
Clases
1 1
Setters
Usa un setter si quieres cambiar los datos internos de una clase, Dart tiene una palabra clave 
especial set especial para esto junto con get .
Constructores
1 2
La gente construye casas; los robots de las fábricas construyen coches; y las impresoras 3D 
construyen modelos. En el mundo de la programación, los constructores son métodos que 
crean, o construyen, instancias de una clase. Es decir, los constructores crean nuevos objetos. Los 
constructores tienen el mismo nombre que la clase, y el tipo de retorno implícito del método 
constructor es también del mismo tipo que la propia clase.
Constructores
1 3
Constructor por defecto
Cuando no se especifica un constructor, Dart proporciona un constructor por defecto que no 
toma parámetros y sólo devuelve una instancia de la clase. Por ejemplo, definiendo una clase 
como esta:
Equivale a escribirla asi:
Constructores
1 4
Constructor personalizado
Si queremos pasarle parámetros al constructor para modificar la forma como la clase crea un 
objeto, es posible hacerlo. Al igual que el constructor por defecto anterior, el nombre del 
constructor debe ser el mismo que el nombre de la clase. Este tipo de constructor se denomina 
constructor generativo porque genera directamente un objeto del mismo tipo.
Constructor de forma larga: Constructor de forma corta:
Constructores
1 5
Constructor con parámetros opcionales
Miembros Estáticos
1 6
Poner static delante de una variable miembro o de un método hace que la variable o el método 
pertenezcan a la clase y no a la instancia. Funcionan igual que las variables y funciones de nivel 
superior, pero están envueltas en el nombre de la clase de la clase. Se accede a ellas de la 
siguiente manera:
En este caso, no has tenido que instanciar un objeto 
para acceder a myProperty o llamar a myMethod . En 
su lugar, has utilizado directamente el nombre de la 
clase para obtener el valor y llamar al método.
Miembros Estáticos
1 7
Miembros Estáticos
1 8
Patrón de Diseño Singleton
Otro uso de las variables estáticas es crear una clase singleton. Los singletons son un patrón de 
diseño con una sola instancia de un objeto. Aunque algunas personas discuten sus beneficios, 
hacen ciertas tareas más convenientes.
Es fácil crear un singleton en Dart. No querrás que User sea un singleton porque probablemente 
tendrías muchos usuarios distintos que requerirían muchas instancias distintas de User . Pero 
Pero es posible que desee crear una clase singleton como un ayudante de base de datos para 
asegurarse de que no se abre múltiples conexiones a la base de datos.
Miembros Estáticos
1 9
Métodos Estáticos
Referencias:
 https://dart.dev/language/classes
 https://dart.dev/language/constructors
 https://dart.dev/language/methods
2 0
https://dart.dev/language/classes
https://dart.dev/language/constructors
https://dart.dev/language/methods
La manera de empezar es dejar de 
hablar y comenzar a actuar.
Walt Disney
2 1
	�����Semana 3: Fundamentos de Dart (iii)
	Objetivos: �Al finalizar, el alumno logrará:
	Temas:
	Clases
	Clases
	Clases
	Clases
	Clases
	Clases
	Clases
	Clases
	Constructores
	Constructores
	Constructores
	Constructores
	Miembros Estáticos
	Miembros Estáticos
	Miembros Estáticos
	Miembros Estáticos
	Referencias:
	La manera de empezar es dejar de hablar y comenzar a actuar.

Continuar navegando

Materiales relacionados