Autor Tema: Typescript  (Leído 414 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado iys
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 3
  • es
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Typescript
« on: 19 Marzo de 2021, 07:45 am »
Buenas tardes foro!

Estoy con una desesperacion...no se como tirar hacia adelante. Tengo que hacer un ejercicio, que no se hacer.

Os cuento:

Se propone realizar unas clases para almacenar la lógica de una agenda con los datos
personales de los individuos: direcciones, teléfonos, mails… Cada clase ha de
crearse en un archivo TypeScript diferente.

Persona
Nombre
Apellidos
Edad
DNI
Cumpleaños
Color favorito
Sexo
Direcciones
Teléfonos
Notas


Dirección
Calle
Número
Piso
Letra
Código postal
Población
Provincia

Teléfono
Tipo
Número

Mail
Tipo
Dirección

.........................

Y esto es lo que me piden:

Se valorará la correcta selección de tipos y la definición de funciones necesarias
para acceso a los atributos
Una vez realizadas las clases:
- Se creará un módulo principal (main) en el que se utilicen las clases definidas
para crear 3 registros de persona y mostrarlos en el terminal mediante console.
log., utilizando las funciones necesarias definidas en las clases para obtener
los datos.

- Se modificará uno de los registros de persona añadidos, realizando la búsqueda
por DNI y añadiendo una nueva dirección, un nuevo mail y un nuevo
teléfono. Estos cambios se deben realizar mediante el uso de métodos definidos
previamente en las clases.
- Se mostrarán desde el módulo principal los 3 registros con los cambios realizados
anteriormente en la consola.


No se como hacerlo ni como empezar. Quiero decir, se que tengo que crear una clase por cada atributo es decir:

clase persona, clase direccion, clase teléfono y clase mail. Pero no se como hacer lo que me dicen.

Alguien me podria echar una mano???? Estaria eternamente AGRADECIDo!!

Desconectado Príncipe_Azul

  • [L2] Conociendo BomberCode
  • **
  • Mensajes: 129
  • Sexo: Masculino
  • ar
  • Colaborador
    • Ver Perfil
    • Foro ArgentinaIRC - Ayuda de Programación General, IRC y mIRC Scripting
Re:Typescript
« Respuesta #1 on: 20 Marzo de 2021, 01:45 pm »
Hola, ayudar, orientar si, pero hacer tareas, no.


Saludos
Enviado desde AdkImode

Desconectado iys
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 3
  • es
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Re:Typescript
« Respuesta #2 on: 21 Marzo de 2021, 06:31 am »
claro!!! mira he creado cada archivo para cada clase con sus get, set y constructores, ahora estoy creando la clase persona importando las clases y siendo telefono, mail y direccion array, pero me da error en el this.

luego he creado la carpeta main para hacer los tres registros que creo que se llaman con let, no?? y luego para que se muestren console log.

si me ayudas te lo agradeceria ya que no se me da muy bien typescript. y si tienes algun ejemplo, aunque sea de otra cosa, porque visualmente lo pillo mas. o si conoceis algun video donde explique, sq en internet no escuentro mucho de type.

Gracias


Desconectado Príncipe_Azul

  • [L2] Conociendo BomberCode
  • **
  • Mensajes: 129
  • Sexo: Masculino
  • ar
  • Colaborador
    • Ver Perfil
    • Foro ArgentinaIRC - Ayuda de Programación General, IRC y mIRC Scripting
Re:Typescript
« Respuesta #3 on: 23 Marzo de 2021, 10:55 pm »
Pues dejanos el código que llevas hecho para que le echemos un vistazo.

Saludos
Enviado desde AdkImode

Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1181
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
Re:Typescript
« Respuesta #4 on: 24 Marzo de 2021, 07:45 pm »
Con tanta informacion el orden seria genial por como tenes manejarlo, agruparia ciertas condiciones para trabajarlo por separado (cuando se tiende agregar todo y mezclar siempre da problemas). ¿Que lenguaje tenes que usar? ¿Podes recurrir a librerias externas? ¿Que código tenes hasta el momento? ¿Que error puntualmente te marca? ... al ser algo logico todo detalle cuenta para deducir el problema o que lineas lo generan!


Saludos Familia!

Desconectado iys
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 3
  • es
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Re:Typescript
« Respuesta #5 on: 30 Marzo de 2021, 09:10 am »
Hola, ya he entregado el ejercicio, aunque me hizo sudar ya que el curso que nos dan es muy básico para luego las practicas que nos piden.

os dejo puesto una de las clases en concreto persona por si saben una forma más correcta de hacerla. iré subiendo los demás códigos.

Saludos

import {Mail} from './mail'
import {Dirección} from './direccion'
import {Teléfono} from './telefono';

export class Persona{
    public _nombre: string;
    public get nombre(): string {
        return this._nombre;
    }
    public set nombre(value: string) {
        this._nombre = value;
    }
    public _apellidos: string;
    public get apellidos(): string {
        return this._apellidos;
    }
    public set apellidos(value: string) {
        this._apellidos = value;
    }
    public _edad: number;
    public get edad(): number {
        return this._edad;
    }
    public set edad(value: number) {
        this._edad = value;
    }
    public _DNI: string;
    public get DNI(): string {
        return this._DNI;
    }
    public set DNI(value: string) {
        this._DNI = value;
    }
    public _cumpleaños: Date;
    public get cumpleaños(): Date {
        return this._cumpleaños;
    }
    public set cumpleaños(value: Date) {
        this._cumpleaños = value;
    }
    public _colorFavorito: string;
    public get colorFavorito(): string {
        return this._colorFavorito;
    }
    public set colorFavorito(value: string) {
        this._colorFavorito = value;
    }
    public _sexo: string;
    public get sexo(): string {
        return this._sexo;
    }
    public set sexo(value: string) {
        this._sexo = value;
    }
    private _direcciones: Dirección[];
    public get direcciones(): Dirección[] {
        return this._direcciones;
    }
    public set direcciones(value: Dirección[]) {
        this._direcciones = value;
    }
    private _mails: Mail[];
    public get mails(): Mail []{
        return this._mails;
    }
    public set mails(value: Mail[]) {
        this._mails = value;
    }
    private _teléfonos: Teléfono[];
    public get teléfonos(): Teléfono[] {
        return this._teléfonos;
    }
   
    public set teléfonos(value: Teléfono[]) {
        this._teléfonos = value;
    }
    public _notas: string;
    public get notas(): string {
        return this._notas;
    }
    public set notas(value: string) {
        this._notas = value;
    }

   
    constructor( nombre:string, apellidos:string,edad:number,DNI:string,cumpleaños:Date,colorFavorito:string,sexo:string,direcciones: Dirección[],mails: Mail[], teléfonos: Teléfono[], notas: string ){
        this._nombre = nombre;
        this._apellidos = apellidos;
        this._edad = edad;
        this._DNI = DNI;
        this._cumpleaños = cumpleaños;
        this._colorFavorito = colorFavorito;
        this._sexo = sexo;
        this._direcciones = direcciones;
        this._mails = mails;
        this._teléfonos = teléfonos;
        this._notas = notas;
}
}


Desconectado gantye
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 1
  • es
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Re:Typescript
« Respuesta #6 on: 02 Abril de 2021, 04:33 am »
Hola, ya he entregado el ejercicio, aunque me hizo sudar ya que el curso que nos dan es muy básico para luego las practicas que nos piden.

os dejo puesto una de las clases en concreto persona por si saben una forma más correcta de hacerla. iré subiendo los demás códigos.

Saludos

import {Mail} from './mail'
import {Dirección} from './direccion'
import {Teléfono} from './telefono';

export class Persona{
    public _nombre: string;
    public get nombre(): string {
        return this._nombre;
    }
    public set nombre(value: string) {
        this._nombre = value;
    }
    public _apellidos: string;
    public get apellidos(): string {
        return this._apellidos;
    }
    public set apellidos(value: string) {
        this._apellidos = value;
    }
    public _edad: number;
    public get edad(): number {
        return this._edad;
    }
    public set edad(value: number) {
        this._edad = value;
    }
    public _DNI: string;
    public get DNI(): string {
        return this._DNI;
    }
    public set DNI(value: string) {
        this._DNI = value;
    }
    public _cumpleaños: Date;
    public get cumpleaños(): Date {
        return this._cumpleaños;
    }
    public set cumpleaños(value: Date) {
        this._cumpleaños = value;
    }
    public _colorFavorito: string;
    public get colorFavorito(): string {
        return this._colorFavorito;
    }
    public set colorFavorito(value: string) {
        this._colorFavorito = value;
    }
    public _sexo: string;
    public get sexo(): string {
        return this._sexo;
    }
    public set sexo(value: string) {
        this._sexo = value;
    }
    private _direcciones: Dirección[];
    public get direcciones(): Dirección[] {
        return this._direcciones;
    }
    public set direcciones(value: Dirección[]) {
        this._direcciones = value;
    }
    private _mails: Mail[];
    public get mails(): Mail []{
        return this._mails;
    }
    public set mails(value: Mail[]) {
        this._mails = value;
    }
    private _teléfonos: Teléfono[];
    public get teléfonos(): Teléfono[] {
        return this._teléfonos;
    }
   
    public set teléfonos(value: Teléfono[]) {
        this._teléfonos = value;
    }
    public _notas: string;
    public get notas(): string {
        return this._notas;
    }
    public set notas(value: string) {
        this._notas = value;
    }

   
    constructor( nombre:string, apellidos:string,edad:number,DNI:string,cumpleaños:Date,colorFavorito:string,sexo:string,direcciones: Dirección[],mails: Mail[], teléfonos: Teléfono[], notas: string ){
        this._nombre = nombre;
        this._apellidos = apellidos;
        this._edad = edad;
        this._DNI = DNI;
        this._cumpleaños = cumpleaños;
        this._colorFavorito = colorFavorito;
        this._sexo = sexo;
        this._direcciones = direcciones;
        this._mails = mails;
        this._teléfonos = teléfonos;
        this._notas = notas;
}
}

Está bien, aunque los atributos podrías ponerlos mejor como private para que sólo se pueda acceder a ellos y modificar sus valores a través de los getters y setters públicos. Y el atributo notas quizás podría ser también un array de string, puede haber varias notas, por lo demás lo veo perfecto. Pon el resto del código y lo vemos.