La herencia - la creación de sub/super clases - una guía...


Cuando podemos crear sub/super clases en un Diseño Orientado a Objetos?
Diseño Orientado a Objetos/Modelado Visual
ESTE ARTÍCULO PUEDE AYUDARLE EN LAS ETAPAS TEMPRANAS E INTERMEDIAS DE ANÁLISIS Y DISEÑO.
Como cada Object Pascal desarrollador sabe que la herencia es uno de los conceptos fundamentales en el Diseño Orientado a Objetos. No voy a dar ninguna explicación sobre lo que es la Herencia ya que todo el mundo sabe la definición ya. En lugar de eso, me voy a dar algunos de los consejos en el diseño de clases en las primeras etapas de Diseño Orientado a Objetos.
En cualquier proyecto de desarrollo, el análisis y las fases de diseño será de importancia en la etapa inicial. En el Diseño Orientado a Objetos/Modelado Visual, una vez que el equipo empieza a recopilar información sobre el proyecto, el equipo identificará los objetos involucrados en cada una de las actividades.
En una etapa, el equipo tendrá algunos ejemplos de clases para los objetos identificados. Como el diseño de la etapa madura, habría más y más clases. A veces, usted puede necesitar para heredar una nueva clase a partir de uno existente o puede que necesite grupo de dos clases en una. En este momento, usted puede utilizar los siguientes conceptos y/o técnicas para crear un sub/super clase de las clases existentes:
ESPECIALIZACIÓN: de la Creación de Sub Clases
¿Qué es un Sub Clase y Clase Super:
Es una clase heredada/derivada de otra clase. La nueva clase(subclase) tendrá todas las propiedades/métodos y eventos de la clase padre(de la que se hereda) y puede tener propiedades adicionales específicos para esta sub-clase. La clase de padre que se llama Super Clase.
permítanme explicar este concepto con un ejemplo.
Vamos a suponer que tenemos una clase llamada TCitizen.
La estructura de TCitizen es algo como esto:
TCitizen = Clase
& nbsp & nbsp & nbsp SocialSecurityNo : string
& nbsp & nbsp & nbsp Nombre : string
& nbsp & nbsp & nbsp Edad : integer
& nbsp & nbsp & nbsp Calle : string
& nbsp & nbsp & nbsp Ciudad : string
& nbsp & nbsp & nbsp Estado : cadena
& nbsp & nbsp & nbsp Postal : integer
& nbsp & nbsp & nbsp ..................
& nbsp & nbsp & nbsp ..................etc.,
fin
Los atributos mencionados son algunos de los atributos comunes que puede tener un Ciudadano. Este ciudadano podría ser alguien de un niño pequeño para un hombre viejo en un país.

Vamos a suponer que tenemos, en nuestro análisis, algunos Veteranos de la información también. Los veteranos son personas que estaban en el Ejército, y/o algunos distinguidos servicios del gobierno y jubilados de ahora. Los Veteranos también son parte de los ciudadanos normales, pero que podrían tener algunos privilegios especiales. En este caso, podemos utilizar la existente TCitizen clase mediante la adición de los privilegios especiales de los atributos de un Veterano, pero que no sería un mejor diseño. En este caso, podemos llamar a este Veterano, como organismo ESPECIALIZADO del Ciudadano. Así, podemos crear un nuevo SUB CLASE derivada de la TCitizen, llamado TVeteranCitizen.
El TVeteranCitizen clase puede parecerse a algo como esto:
TVeteranCitizen = clase(TCitizen)
& nbsp & nbsp & nbsp NoOfYearsOfService : integer
& nbsp & nbsp & nbsp Recompensas : string
& nbsp & nbsp & nbsp Rangos : string
& nbsp & nbsp & nbsp DateRetired : TDateTime
& nbsp & nbsp & nbsp .........................................
& nbsp & nbsp & nbsp ......................................etc.,
fin
GENERALIZACIÓN: de la Creación de Super Clases
me explico esto también a través de algunos ejemplos de clases.
supongamos que estamos diseñando un sistema de biblioteca y hemos identificado dos clases de TStudent, que contiene la información de los estudiantes y TProfessor, que contiene el profesor de la información, entre otras clases. Tomamos estas dos clases para nuestra discusión.
La estructura de estas dos clases sería como sigue:
TStudent = Clase
& nbsp & nbsp & nbsp id de alumno : string
& nbsp & nbsp & nbsp Nombre : string
& nbsp & nbsp & nbsp Edad : string
& nbsp & nbsp & nbsp Grado : string
& nbsp & nbsp & nbsp ........................
& nbsp & nbsp & nbsp .....................etc.,
fin
TProfessor = Clase
& nbsp & nbsp & nbsp ProfID : string
& nbsp & nbsp & nbsp Nombre : string
& nbsp & nbsp & nbsp Edad : string
& nbsp & nbsp & nbsp ....................
& nbsp & nbsp & nbsp ................etc.,
fin
El sistema permitirá a los estudiantes y profesores para el inicio de sesión usando su alumno y profesor id y hacer de la biblioteca de actividades relacionadas. El sistema verificará que el estudiante y el profesor id en el momento de inicio de sesión.
Aquí se puede GENERALIZAR a una información relativa tanto a las clases como siempre que ambos estén de acuerdo en su estructura y tipo. Estoy hablando de los dos atributos id de alumno en TStudent y ProfID en TProfessor. En este caso, ambos son del mismo tipo: Cadena de caracteres. La segunda cosa es que deben ser de la misma estructura/tamaño de la cadena. Si StudentID es de siete charactors longitud y ProfID es de cuatro charactors longitud, entonces no podemos generalizar esta información.
siempre que ambos estén de acuerdo en las dos cosas, podemos generalizar.
Que ambos sirven como una forma de iniciar sesión en el sistema después de la verificación. Así podemos GENERALIZAR esta información y crear un SUPER CLASE con un nombre de TUser y heredar ambas TStudent y TProfessor de TUser.
a Pesar de que este parece ser un tema sencillo, solo quiero compartir esto con nuestros Delphi de la Comunidad.
Disfrutar!!!!
Gracias.
Magesh.









La herencia - la creacion de sub/super clases - una guia...


La herencia - la creacion de sub/super clases - una guia... : Multi-millones de consejos para hacer su vida mas facil.


Cuando podemos crear sub/super clases en un Diseño Orientado a Objetos?
Diseño Orientado a Objetos/Modelado Visual
ESTE ARTICULO PUEDE AYUDARLE EN LAS ETAPAS TEMPRANAS E INTERMEDIAS DE ANALISIS Y DISEÑO.
Como cada Object Pascal desarrollador sabe que la herencia es uno de los conceptos fundamentales en el Diseño Orientado a Objetos. No voy a dar ninguna explicacion sobre lo que es la Herencia ya que todo el mundo sabe la definicion ya. En lugar de eso, me voy a dar algunos de los consejos en el diseño de clases en las primeras etapas de Diseño Orientado a Objetos.
En cualquier proyecto de desarrollo, el analisis y las fases de diseño sera de importancia en la etapa inicial. En el Diseño Orientado a Objetos/Modelado Visual, una vez que el equipo empieza a recopilar informacion sobre el proyecto, el equipo identificara los objetos involucrados en cada una de las actividades.
En una etapa, el equipo tendra algunos ejemplos de clases para los objetos identificados. Como el diseño de la etapa madura, habria mas y mas clases. A veces, usted puede necesitar para heredar una nueva clase a partir de uno existente o puede que necesite grupo de dos clases en una. En este momento, usted puede utilizar los siguientes conceptos y/o tecnicas para crear un sub/super clase de las clases existentes:
ESPECIALIZACION: de la Creacion de Sub Clases
¿Que es un Sub Clase y Clase Super:
Es una clase heredada/derivada de otra clase. La nueva clase(subclase) tendra todas las propiedades/metodos y eventos de la clase padre(de la que se hereda) y puede tener propiedades adicionales especificos para esta sub-clase. La clase de padre que se llama Super Clase.
permitanme explicar este concepto con un ejemplo.
Vamos a suponer que tenemos una clase llamada TCitizen.
La estructura de TCitizen es algo como esto:
TCitizen = Clase
& nbsp & nbsp & nbsp SocialSecurityNo : string
& nbsp & nbsp & nbsp Nombre : string
& nbsp & nbsp & nbsp Edad : integer
& nbsp & nbsp & nbsp Calle : string
& nbsp & nbsp & nbsp Ciudad : string
& nbsp & nbsp & nbsp Estado : cadena
& nbsp & nbsp & nbsp Postal : integer
& nbsp & nbsp & nbsp ..................
& nbsp & nbsp & nbsp ..................etc.,
fin
Los atributos mencionados son algunos de los atributos comunes que puede tener un Ciudadano. Este ciudadano podria ser alguien de un niño pequeño para un hombre viejo en un pais.

Vamos a suponer que tenemos, en nuestro analisis, algunos Veteranos de la informacion tambien. Los veteranos son personas que estaban en el Ejercito, y/o algunos distinguidos servicios del gobierno y jubilados de ahora. Los Veteranos tambien son parte de los ciudadanos normales, pero que podrian tener algunos privilegios especiales. En este caso, podemos utilizar la existente TCitizen clase mediante la adicion de los privilegios especiales de los atributos de un Veterano, pero que no seria un mejor diseño. En este caso, podemos llamar a este Veterano, como organismo ESPECIALIZADO del Ciudadano. Asi, podemos crear un nuevo SUB CLASE derivada de la TCitizen, llamado TVeteranCitizen.
El TVeteranCitizen clase puede parecerse a algo como esto:
TVeteranCitizen = clase(TCitizen)
& nbsp & nbsp & nbsp NoOfYearsOfService : integer
& nbsp & nbsp & nbsp Recompensas : string
& nbsp & nbsp & nbsp Rangos : string
& nbsp & nbsp & nbsp DateRetired : TDateTime
& nbsp & nbsp & nbsp .........................................
& nbsp & nbsp & nbsp ......................................etc.,
fin
GENERALIZACION: de la Creacion de Super Clases
me explico esto tambien a traves de algunos ejemplos de clases.
supongamos que estamos diseñando un sistema de biblioteca y hemos identificado dos clases de TStudent, que contiene la informacion de los estudiantes y TProfessor, que contiene el profesor de la informacion, entre otras clases. Tomamos estas dos clases para nuestra discusion.
La estructura de estas dos clases seria como sigue:
TStudent = Clase
& nbsp & nbsp & nbsp id de alumno : string
& nbsp & nbsp & nbsp Nombre : string
& nbsp & nbsp & nbsp Edad : string
& nbsp & nbsp & nbsp Grado : string
& nbsp & nbsp & nbsp ........................
& nbsp & nbsp & nbsp .....................etc.,
fin
TProfessor = Clase
& nbsp & nbsp & nbsp ProfID : string
& nbsp & nbsp & nbsp Nombre : string
& nbsp & nbsp & nbsp Edad : string
& nbsp & nbsp & nbsp ....................
& nbsp & nbsp & nbsp ................etc.,
fin
El sistema permitira a los estudiantes y profesores para el inicio de sesion usando su alumno y profesor id y hacer de la biblioteca de actividades relacionadas. El sistema verificara que el estudiante y el profesor id en el momento de inicio de sesion.
Aqui se puede GENERALIZAR a una informacion relativa tanto a las clases como siempre que ambos esten de acuerdo en su estructura y tipo. Estoy hablando de los dos atributos id de alumno en TStudent y ProfID en TProfessor. En este caso, ambos son del mismo tipo: Cadena de caracteres. La segunda cosa es que deben ser de la misma estructura/tamaño de la cadena. Si StudentID es de siete charactors longitud y ProfID es de cuatro charactors longitud, entonces no podemos generalizar esta informacion.
siempre que ambos esten de acuerdo en las dos cosas, podemos generalizar.
Que ambos sirven como una forma de iniciar sesion en el sistema despues de la verificacion. Asi podemos GENERALIZAR esta informacion y crear un SUPER CLASE con un nombre de TUser y heredar ambas TStudent y TProfessor de TUser.
a Pesar de que este parece ser un tema sencillo, solo quiero compartir esto con nuestros Delphi de la Comunidad.
Disfrutar!!!!
Gracias.
Magesh.


La herencia - la creación de sub/super clases - una guía...

La herencia - la creación de sub/super clases - una guía... : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación