Título: Crear una instancia de clase para calculo de sueldo de trabajadores Publicado por: Maria Alejandra en 16 Abril 2016, 22:50 pm Código
2 pregunticas :) 1) estoy algo confudida no manejo muy bien ni comprendo los terminos de instanciacion me parecen algo enredado y no lo comprendo muy bien su funcionamiento según lo que he leido es algo asi: Perro Rallo = new Perro(); Rallo = se convierte en una nueva estancia ( que es una instancia expliquenmelo en terminos sencillos porfavor? y es del tipo perro = como del tipo perro ? alguien que me pueda explicar esto un poco mas sencillo los terminos que se manejan en internet no los comprendo son algo muy complicado para mi 2) en mi función imprimir puede acceder a los metodos ( creo que se les llama asi) para calcular los salario diurno y nocturno de mis trabajadores, pero ahora tengo un problema en la funcion main tratao de hacer lo mismo que realize en la funcion imprimir pero no puedo acceder a la clase trabajadores. No se si lo que les acabo de decirles es el mejor manejo de los terminos, estoy empezando a programar y me gustaria aprender mucho, hablar tecnicamente y de forma correcta, por eso pido ayuda a ustedes si ven que equivoco corrijanme el :) Título: Re: Crear una instancia de clase para calculo de sueldo de trabajadores Publicado por: ivancea96 en 17 Abril 2016, 01:29 am Citar que es una instancia expliquenmelo en terminos sencillos porfavor? y es del tipo perro = como del tipo perro ? Citar Una variable tiene que tener un tipo. No es lo mismo una variable int que almacena un número, que una variable string que almacena una cadena de caracteres. Trabajadores almacena los datos que ahí describiste. Una declaración de una clase (lo que ahí pusiste "class Trabajadores{...}") es la forma que tendrán esas variables. Esas variables tendrán tales métodos(ingreso, calculoDiurno...), y tendrán tales campos (cedula,nombre...). Esto es solo una idea. Para materializarla y crear una variable que contenga estos datos, hay que instanciarla, que no es más que asignarle memoria de la RAM, e interpretar esa memoria conforme al modelo. No sé qué tal me expliqué, dime si algo no quedó claro. Título: Re: Crear una instancia de clase para calculo de sueldo de trabajadores Publicado por: Eleкtro en 17 Abril 2016, 02:39 am 1) estoy algo confudida no manejo muy bien ni comprendo los terminos de instanciacion me parecen algo enredado y no lo comprendo muy bien su funcionamiento que es una instancia expliquenmelo en terminos sencillos porfavor? alguien que me pueda explicar esto un poco mas sencillo los terminos que se manejan en internet no los comprendo son algo muy complicado para mi Intentaré explicártelo de forma distinta a los tecnicismos que hayas leido por Internet, para intentar que te sea más fácil su comprensión...: Se le suele llamar object (u objeto) a una representación de una estructura de datos encapsulada o una abstracción de algoritmos, que expone su funcionalidad mediante los miembros del lenguaje, éstos miembros en la plataforma .Net pueden ser: variables (a esto se le suele llamar campos o fields), constantes (o constants), propiedades (o properties), métodos (o methods), funciones (o functions), enumeraciones (o enums), estructuras (o structs), eventos (o events), y un largo etcétera. Pues bien, habiendo comprendido lo anterior, podemos decir que una instancia es una copia única del objeto, es un punto de referencia que habilita el acceso a los miembros que contenga definidos ese objeto. Cuando creas una instancia, lo que estás haciendo es crear/asignar un espacio de memoria para consumir ese objeto por un tiempo de vida limitado, hasta que sea destruido/liberado. También cabe mencionar que...:
los metodos ( creo que se les llama asi) El término estandarizado a veces simplemente depende de los factores que hacen que se popularice un término para un lenguaje en específico, puedes referirte a un método por otros términos cómo procedimiento (o procedure), subrutina (o sub-routine), rutina (o routine), y unidad (o unit), y toda esta terminología podría llevarte a la confusión, sobre todo el último término mencionado, ya que en realidad sirve para referirse a cualquier unidad de código (es decir, a cualquier linea/instrucción del código fuente por individual), pero... vaya, si, se llaman métodos. En la plataforma .Net (y por lo general en el resto de lenguajes también), se le denomina 'método' a un bloque de código que ejecuta una serie de instrucciones y finaliza su ejecución sin devolver un tipo de valor. Ejemplo: Código
Si un método devuelve un tipo de valor, entonces se le denomina 'función'. Ejemplo: Código
Perro Rallo = new Perro(); Rallo = se convierte en una nueva estancia En una "estancia" no, pero en una instancia si :P. Para instanciar una class, debes invocar al constructor (o ctor) de esa class, y para ello se utiliza el operador new (como en el ejemplo que has mostrado con new Perro()):
También cabe mencionar que...:
y es del tipo perro = como del tipo perro ? (entendí mal la pregunta) No se me ocurre muy bien como explicárte que es un Type sin profundizar en más cosas que necesitarían una explicación (cómo interfaces, estructuras, herencia, classes base e implementaciones), así que lo intentaré resumir de forma poco precisa...:
Cualquier class que sea instanciable enfocada a representar cierta funcionalidad se considera un type (entre otro tipo de miembros que se consideran un type), la class System.Object es un type que representa un objeto, y absolutamente todas las classes de .Net Framework heredan ese base-type (heredar, de forma muy resumida significa aplicarle a una class la funcionalidad definida en otra class, sin tener que volver a redeclarar esa funcionalidad), otro ejemplo de un type sería la class System.Windows.Forms.Form que representa la funcionalidad y el comportamiento de una ventana de la interfáz gráfica de tu aplicación, y otro ejemplo sería esta class instanciable de aquí abajo que representa los atributos de un perro: Código
Eso sería considerado el type Dog. No lo veas como el nombre de la class, intenta visualizarlo más bien como la funcionalidad de una class instanciable, es decir, referirnos al type Dog es referirnos a una estructura de datos que implica 3 propiedades y un constructor definido para representar algo en particular. Quizás te resulte más facil con un ejemplo para evaluar el type: Código
...O este otro ejemplo: Código
Una class que no se consideraría un type, sería cualquier class no-instanciable de propósito general, como por ejemplo la class System.IO.Path, que se considera un type, sin embargo, una class no-instanciable siempre será considerado del type System.Object, ya que es el base-type principal de la jerarquía de herencias de types de .Net. Espero haber podido aclararte algunos conceptos. Si te fijas me he puesto algo pesado explicando las terminologías en Inglés entre paréntesis, pero es esencial conocerlas ...antes que sus nombres en Español. Saludos Título: Re: Crear una instancia de clase para calculo de sueldo de trabajadores Publicado por: Maria Alejandra en 17 Abril 2016, 19:19 pm Citar que es una instancia expliquenmelo en terminos sencillos porfavor? y es del tipo perro = como del tipo perro ? Citar Una variable tiene que tener un tipo. No es lo mismo una variable int que almacena un número, que una variable string que almacena una cadena de caracteres. Trabajadores almacena los datos que ahí describiste. Una declaración de una clase (lo que ahí pusiste "class Trabajadores{...}") es la forma que tendrán esas variables. Esas variables tendrán tales métodos(ingreso, calculoDiurno...), y tendrán tales campos (cedula,nombre...). Esto es solo una idea. Para materializarla y crear una variable que contenga estos datos, hay que instanciarla, que no es más que asignarle memoria de la RAM, e interpretar esa memoria conforme al modelo. No sé qué tal me expliqué, dime si algo no quedó claro. siii bueno + o - he estado estudiando este tema y ya me voy familiarizando poco a poco, estoy iniciandome en programacion pero ahi voy Muchas gracias por tu tiempo Título: Re: Crear una instancia de clase para calculo de sueldo de trabajadores Publicado por: Maria Alejandra en 17 Abril 2016, 19:23 pm Intentaré explicártelo de forma distinta a los tecnicismos que hayas leido por Internet, para intentar que te sea más fácil su comprensión...: Se le suele llamar object (u objeto) a una representación de una estructura de datos encapsulada o una abstracción de algoritmos, que expone su funcionalidad mediante los miembros del lenguaje, éstos miembros en la plataforma .Net pueden ser: variables (a esto se le suele llamar campos o fields), constantes (o constants), propiedades (o properties), métodos (o methods), funciones (o functions), enumeraciones (o enums), estructuras (o structs), eventos (o events), y un largo etcétera. Pues bien, habiendo comprendido lo anterior, podemos decir que una instancia es una copia única del objeto, es un punto de referencia que habilita el acceso a los miembros que contenga definidos ese objeto. Cuando creas una instancia, lo que estás haciendo es crear/asignar un espacio de memoria para consumir ese objeto por un tiempo de vida limitado, hasta que sea destruido/liberado. También cabe mencionar que...:
El término estandarizado a veces simplemente depende de los factores que hacen que se popularice un término para un lenguaje en específico, puedes referirte a un método por otros términos cómo procedimiento (o procedure), subrutina (o sub-routine), rutina (o routine), y unidad (o unit), y toda esta terminología podría llevarte a la confusión, sobre todo el último término mencionado, ya que en realidad sirve para referirse a cualquier unidad de código (es decir, a cualquier linea/instrucción del código fuente por individual), pero... vaya, si, se llaman métodos. En la plataforma .Net (y por lo general en el resto de lenguajes también), se le denomina 'método' a un bloque de código que ejecuta una serie de instrucciones y finaliza su ejecución sin devolver un tipo de valor. Ejemplo: Código
Si un método devuelve un tipo de valor, entonces se le denomina 'función'. Ejemplo: Código
En una "estancia" no, pero en una instancia si :P. Para instanciar una class, debes invocar al constructor (o ctor) de esa class, y para ello se utiliza el operador new (como en el ejemplo que has mostrado con new Perro()):
También cabe mencionar que...:
(entendí mal la pregunta) No se me ocurre muy bien como explicárte que es un Type sin profundizar en más cosas que necesitarían una explicación (cómo interfaces, estructuras, herencia, classes base e implementaciones), así que lo intentaré resumir de forma poco precisa...:
Cualquier class que sea instanciable enfocada a representar cierta funcionalidad se considera un type (entre otro tipo de miembros que se consideran un type), la class System.Object es un type que representa un objeto, y absolutamente todas las classes de .Net Framework heredan ese base-type (heredar, de forma muy resumida significa aplicarle a una class la funcionalidad definida en otra class, sin tener que volver a redeclarar esa funcionalidad), otro ejemplo de un type sería la class System.Windows.Forms.Form que representa la funcionalidad y el comportamiento de una ventana de la interfáz gráfica de tu aplicación, y otro ejemplo sería esta class instanciable de aquí abajo que representa los atributos de un perro: Código
Eso sería considerado el type Dog. No lo veas como el nombre de la class, intenta visualizarlo más bien como la funcionalidad de una class instanciable, es decir, referirnos al type Dog es referirnos a una estructura de datos que implica 3 propiedades y un constructor definido para representar algo en particular. Quizás te resulte más facil con un ejemplo para evaluar el type: Código
...O este otro ejemplo: Código
Una class que no se consideraría un type, sería cualquier class no-instanciable de propósito general, como por ejemplo la class System.IO.Path, que se considera un type, sin embargo, una class no-instanciable siempre será considerado del type System.Object, ya que es el base-type principal de la jerarquía de herencias de types de .Net. Espero haber podido aclararte algunos conceptos. Si te fijas me he puesto algo pesado explicando las terminologías en Inglés entre paréntesis, pero es esencial conocerlas ...antes que sus nombres en Español. Saludos Muchas gracias por tu tiempo!!! voy poco a poco ya voy comprendiendo mejor :) tengo que investigar eso se set y get y el this primera vez que lo veo |