Transcripciones
1. Programación de orientación de objetos: Bienvenido DOB. Grado de programación. Un enfoque conceptual. Mi nombre es Tevis Boulware, y seré el instructor para este curso de qué se trata este curso. Este curso abarca el análisis, diseño y creación de programación básica, orientada a
objetos con énfasis en el concepto, procesos y estructura del programa sobre los detalles reales de programación. La programación es de vital importancia, Sin embargo. Muchos cursos de programación introductoria saltan directamente a la programación sin cubrir los conceptos
fundamentales, la base de cada programación orientada a objetos. Este curso toma un concepto de primer enfoque. Una de las cosas a notar es ese concepto y procesos sobre programa. Significa que de lo que vamos a hablar se aplica a cualquier lenguaje de programación, ya sea C, sharp, Java o python o cualquiera que sea tu lenguaje de elección, los conceptos eran todos iguales. Lo único que es diferente a son los detalles de implementación de esos conceptos. De lo que aprenderás en este curso, aprenderás a diseñar un ir básico, obvio y programación utilizando el lenguaje de modelado unificado. No te dejes intimidar por esto. Es una forma estándar que los programadores profesionales Incheon y los ingenieros de software utilizaron para documentar el plano de su lenguaje. No lo es. Ahí lo está intimidando. Parece ser que vas a aprender a crear un diseño que incorpore múltiples objetos
y que permita el paso de mensajes,
pasando entre los objetos del motel. Mi experiencia es que los estudiantes introductorios tienen el tiempo más difícil trabajando en programas con múltiples objetos porque tienen que tomar datos de uno y poner enviarlos a otro y ida y
vuelta. Ésas suelen ser las cosas más complejas que los programadores introductorios tienen que aprender, y por eso estamos concentrados en ellas. ¿ Vas a aprender a tomar ese diseño o cuál es tu plan, y luego traducir ese diseño en un óptico en tu programa ahora una de las cosas en las
que realmente quiero concentrarme. Los conceptos y procesos que cubren este curso no dependen del lenguaje de programación que estaré usando. C. Sharp es el idioma primario que se utiliza para demostrar las técnicas porque creo que es uno de los idiomas más fáciles de aprender y uno de los idiomas más fáciles de leer. Pero se mostrarán ejemplos de otros lenguajes para ilustrar la concurrencia entre el diferente idioma. Lo que vas a encontrar en todos los idiomas soporta los mismos conceptos generales. La única diferencia es entonces, van a ser los detalles específicos del lenguaje que implementan esos conceptos. Ahora queremos asegurarnos de que entendemos lo que este curso no hace también. Este curso no se concentrará en la interfaz de usuario. Tan pronto como empezamos a hablar de interfaces de usuario, diseños
gráficos de usuario y cosas así que planteaste ponen un nivel de complejidad ahí que le quita al objeto concepto coreano. Simplemente nos vamos a concentrar en simples programas de pros basados en consejos para que pueda concentrarse en esos conceptos fundamentales. Y entonces las interfaces de usuario serán objeto de otro curso. No vamos a volver a cubrir ningún lenguaje de programación de detalle. Voy a estar usando C Sharp es el ejemplo también social show algunos programas Java, algunos programas python. Pero hay un montón de sitios de programación tutorial disponibles donde podrías aprender a trabajar con el lenguaje específico. No voy a cubrir específicamente qué detalles en este curso. No vamos a hacer ningún algoritmo de programación complejo, y no vamos a cubrir algunos de los temas intermedios o avanzados más inmediatos como la composición. Y aquí está clases abstractas. Esos van a ser sujetos. Sujete otro curso. ¿ Quieres entender lo básico fuera? Cuáles son el concepto básico de los objetos y cómo se comunican, cómo construir esos programas. Y una vez que los tengas abajo, entonces podrías entrar en los conceptos intermedios más intermedios. Entonces lo que puede necesitar para este curso, necesario tener probablemente algunas habilidades básicas y trabajar el lenguaje
de programación por computadora de la suposición aquí es que has tomado algún tipo de tienes algún tipo de antecedentes de programación. Ya sabes escribir programas sencillos otra vez. Podrías usar java. Voy a demostrar Java Python C agudo. No conozco ningún otro idioma. Tan poco son los en los que me concentraré. Probablemente entiendas las estructuras de control de programación probablemente básicas, tales sus decisiones y bucles. No vamos a crear algoritmos de programas complejos, pero necesitas poder escribir algún código con el uso de if,
if then else sloops de sentencia y así sucesivamente. Vas a querer que un editor de textos procesador de textos haga nos ayude a hacer parte del análisis y diseño y un programa de secado ah de programación sería bueno tener, pero no necesariamente es obligatorio. Hay un montón de herramientas gratuitas basadas, gratuitas, gratuitas,basadas en
Web por ahí que podrías usar para dibujar, y siempre podrías dibujar cosas con bolígrafo y papel porque lo que queremos concentrar. Es importante que una especie de dibuje estos diagramas porque se van a convertir en tu plano. Pero es el proceso que queremos concentrarnos. No necesariamente. El dibujo herramientas mismas un poco sobre nombre otra vez. Mi nombre es Thomas Boulware. Aquí está mi educación. Tengo maestrías e ingeniería informática, matemáticas, y tengo de una licenciatura en ingeniería eléctrica, matemáticas, IQ, matemáticas y ciencias generales. En mi experiencia, pasé 15 años como investigación y desarrollo en oído con la Fuerza Aérea de Estados Unidos, concentrándome
principalmente en software,
ingeniería, ingeniería, investigación y desarrollo para la ofensa Departe Department, una de las mejores prácticas y así sucesivamente y también pasó 15 años más software comercial, ingeniería. Y también tengo,
ah, ah, 30 años de experiencia en instructor universitario y universitario a tiempo parcial. Llevo dando clases desde que era estudiante de posgrado en la Universidad del Orden. Voy a hacer en este curso. Nuestra primera lección va a ser hablar del pensamiento Orient de objeto. Es como pensamos que son seres humanos. Lo que sólo queremos poder hacer es poder tomar nuestro proceso natural de pensamiento de cómo nosotros
como seres humanos consideramos el mundo que nos rodea. Y entonces, ¿cómo vamos a aplicar entonces esos principios a la programación orientada a objetos? Entonces estamos hablando de las herramientas que vamos a necesitar para hacer programación orientada a objetos. Qué, vas a necesitar este curso. Entonces vamos a saltar a cómo describes un sistema. Si no puedes describir el sistema, no
puedes construirlo. Por lo que queremos poder describir el sistema y que luego se convierta en la base de todo lo que hacemos. A partir de ese momento, una vez que
describamos el sistema, queremos poder ver cómo van a interactuar los diferentes componentes de desplazamiento. Ese es un concepto muy importante en el que pensar antes de comenzar la implementación. Lo que entendemos cómo el sistema pero la estructura del sistema es cómo interactúan los componentes de ir. Entonces necesitamos básicamente apuntar, especificar los algoritmos específicos que iban a usar, y de nuevo, no
vamos a ser nada complejo, pero sólo estamos pasando por el proceso. De acuerdo, ahora bajamos los algoritmos que vamos a procesar, y luego esos luego se convierten en nuestro plan para la implementación o recubrimiento. Entonces ese es el proceso que íbamos a estar siguiendo. Entonces sigamos adelante y empecemos y nuestro primer tema va a ser objeto. Pensamiento coreano Es como nosotros como seres humanos, pensamos en el mundo.
2. Introducción al desarrollo de software: bienvenido. La siguiente lección. Un desarrollo de software de programación de objetos. Ciclo de vida. De lo que queremos hablar aquí es que en la siguiente lección, vamos a entrar en proceso de análisis y diseño y de lo que me gustaría hacer un conjunto la
base general para ese proceso que estamos atravesando mirando en qué está un ciclo de vida en teoría y algunos de los principios básicos iban a usar cuando hablamos del ciclo de vida de
desarrollo de software, esto te va a proporcionar una base de las actividades por las que vamos a caer . El desarrollo es un proceso de ingeniería. Ahora, ¿qué significa eso? Significa que es un proceso formal, estandarizado y repetible para crear productos. Empiezas con identificar la necesidad de asistencia que necesitas crear. Investigas el problema, identificas posibles soluciones, seleccionas la solución, construyes un prototipo ah, modelo. Evalúa ese prototipo y lo encuentras. Implementar el diseño. Por lo que la ingeniería es este proceso formal, de buena reputación. De nuevo, es formal. Eso significa que es que tiene unos lineamientos y estándares bien establecidos. Es repetible, mismo paso para cada proyecto. Va a seguir un ciclo de vida que es básicamente etapas syriza a través de las cuales un sistema pasa a través de su vida útil. El ciclo de vida del desarrollo del sistema nuevamente es un flujo lógico de actividades de desarrollo que representan la progresión ordenada de las actividades de principio a fin. Ahora, una cosa que tenemos que recordar es que a pesar de que vamos a estar creando
cosas diferentes al final, el proceso es el mismo. Por ejemplo, financiar un diseño y construir una computadora. Vas a ir fase uno cara a cara tres. Faith for you definirá estas fases en función de su experiencia y de la pericia en la empresa para la que trabaja. Ahora, si vamos a diseñar y construir un sitio web, vamos a seguir las mismas fases. Aviso hacia abajo. Aquí está la actividad repetible. Diga:
Bueno, Bueno, vamos a hacer las mismas cosas, mismas actividades, pero vamos a terminar con resultados diferentes. Entonces a eso nos referimos con formal. En un ciclo de vida repetible y del software, vamos a pasar por un obstáculo en el análisis. El diseño es un proceso formal en lógica. Ahora, algunos de los principios básicos en cualquier momento que estás pasando por el diseño del análisis es
que quieres pensar en términos de niveles de abstracción. Sé que eso es una especie de Ah, hola vida, término
highfalutin. Ahí Pero en lo que pensaríamos es en que queremos pensar en el en el panorama general y luego profundizar en los detalles necesariamente querríamos descomponer entonces nuestro sistema, romper sistemas más grandes en los componentes y esos componentes en componente más pequeño. Queremos hacer refinamiento paso a paso. De lo contrario, elaboramos de manera incremental los detalles de un sistema hasta que entienda cómo funcionan los componentes y reconstruya componentes más pequeños e integre juntos para obtenerlo. Sistema de trabajo, por ejemplo, Muelles en el sistema. Trabajé en un tiempo atrás no, o hice una lista de comprobación piloto este año lista de comprobación piloto automatizada y lo que llamarías el más alto nivel de abstracción. Este es el nivel de 10,000 pies o big picture que no podemos construir en la lista de comprobación piloto automatizada. De acuerdo, simplemente no sabes cómo hacerlo,
Pero entonces, ¿qué tenemos que hacer? Compuso esos componentes en subcomponentes. Por lo que vamos a romperlo interfaz gráfica señalando dispositivo cad software checklist almacenamiento. Y luego donde llevarías cada uno de esos y lo descompondrías aún más y
continúas este proceso de descomposición hasta que finalmente lleguemos a un punto dice que sí, sé construir que hay una vez que construimos todos los sub componentes, luego los integramos juntos para conseguir nuestro sistema de trabajo cada proceso de desarrollo de sistemas que alguna vez
he trabajado en su seguido este enfoque. Y este es el enfoque que vamos a tomar cuando hagamos nuestro objeto o un análisis diseñando su curso ahora desarrollo de software. Y si miras alguno de los libros de texto, básicamente se va a reducir en cuatro procesos básicos especificaciones de problemas, lo que va a describir el problema. Tenemos que hacer requerimientos, análisis donde vamos a llevar las especificaciones de problemas y definir qué
debe hacer el sistema . Vamos a tomar los requerimientos y vamos a crear un diseño en eso basado en los requerimientos que va a definir cómo lo va a hacer el sistema. Y entonces esto se convierte en nuestro plan para aviso de implementación aquí por la imagen, siempre
se podría volver atrás. Uno de los temas que veo con los ingenieros iniciales es que siempre tienen miedo de volver atrás. Por ejemplo, van al diseño, van al diseño, luego van a la implementación. Y entonces de nuevo, el proceso stepwise o bombero significa que cada vez que descubras un detalle y cuanto más cerca te acerques a
la implementación, más detalles van a llegar y es posible que surjan unas especificaciones de diseño o nuevo requisito. Y luego cuando eso suceda, deberías volver atrás. Los requisitos que pasan por el proceso de diseño es de nuevo, así que no tengas miedo de volver atrás. Nunca lo vas a hacer bien la primera vez. El otro es que no recordaremos especificaciones en la línea de base para cada cara. Por ejemplo, si quiero hacer diseño, tengo que tener requisitos. Si voy a hacer requisitos, tengo que tener las especificaciones del problema anotadas para ti. Y realmente no puedo hacer implementación hasta que el blueprint de diseño y luego las pruebas engloben todas las fases del proceso. Ahora bien, esto no siempre es sólo probarme. Y estamos ejecutando un programa. Puedes hacer revisiones por pares. Podrías hacer inspecciones en papel para asegurarte de que los artefactos es que estás creando para una alta calidad. Y el propósito aquí es que se tiene que construir calidad en que se apresuró a través de
especificaciones de problemas , análisis ,
diseño, y obtener la implementación con la actitud o el pensamiento que bien, estoy solo voy a probar calidad y voy a ponerla ahí afuera, ver qué va a funcionar, entonces lo van a probar. Realmente no se puede hacer eso en cada fase. Tienes que asegurarte de que lo que estás pasando a la siguiente fase sea correcto. Por ejemplo, pocos se puede crear un buen requisito basado en unas malas especificaciones. Por ejemplo, quiero construir. Mi esposa me dice que queremos construir una casa de cuatro recámaras. No obstante, cuando voy describo el problema, digo casa de tres recámaras. Después voy a los requisitos y pasé Construir una casa de tres recámaras en la fase de
análisis de requerimientos . Entonces podría hacer, ah, trabajo
perfectamente aceptable de requerimientos, análisis y luego diseño e implementación. Pero mis especificaciones eran incorrectas, así que puedo construir la mejor casa de tres recámaras que jamás se haya construido. No obstante, no
va a ser una aplicación de calidad o casa de igualdad, porque se suponía que debía especificar una casa de cuatro recámaras para que puedas tener errores propagados hacia abajo en cada una de estas fases, lo que significa que tienes que asegúrate de que en cada fase antes de pasar a la siguiente que la entrada a la siguiente fase fuera correcta. Entonces una de las cosas que quieres tener en cuenta. Desarrollo de software, ciclos de
vida y progresión lógica, ordenada de las actividades de desarrollo. Pero comienza con la determinación de la necesidad inicial a través de la disposición. Vas a pasar por un problema especificaciones, requisitos, análisis, diseño, implementación y pruebas. Y luego vamos a pasar por este proceso, asegurarnos de que usamos los niveles de abstracción, descompone sistema y luego refinamiento paso a paso. que de nuevo significa que cada vez que avanzamos con el nivel de e identificamos un nivel de detalle, más como más detalles van a salir camino, encontrar nuestra comprensión, el problema en este material. ¿ Por qué manera paso a paso? Ahora esto es Ah otra vez, la presentación es solo para darte una especie de visión general de lo que vamos a dio cuando
hablamos de objeto o de un análisis y diseño en las siguientes lecciones, vas a ver cómo estos estos teóricos conceptos que se aplican directamente al proceso de ingeniería
específico
3. Pensamiento orientado a objetos: otro objeto. Entonces entendemos el concepto básico de que iba programa porque así es como
miramos las cosas en el mundo real. Entonces básicamente en objeto o en pensar, piensas en clasificaciones. De lo contrario, vamos a clasificar cosa. Por ejemplo, tenemos una clasificación de un televisor. De acuerdo, tenemos una clasificación de autos, clasificación de casa, cada uno de esos, como nos han facturado, cada uno de esto. Tenemos objetos en, o simplemente instancias específicas o manifestación física de esos. Entonces tenemos una clasificación de la televisión y hay cientos de millones de ópticas televisivas en el mundo. Tenemos una clasificación de autos y hay 100 millones de autos en el mundo los suyos. Pero son de clase vieja compra bar nosotros básicamente. Entonces tengo, ah, clasificación de una casa para la esperanza, y luego tenemos cientos de objetos poemas diferentes arriba. Entonces básicamente en lo que queremos pensar es en una clase es un plano para una cosa física . Después usamos ese blueprint para crear instancia de la clase. Entonces, por ejemplo, si tenemos ah va a crear un programa que haga un seguimiento de tu colección de películas entonces
vas a crear una sola llamada de clase, se movió, y eso entonces va a ser. Hay un plano para cada otro objeto de película que califique en su programa. Ahí vas a crear o en forma de stand objetos de película, uno para cada una de las películas de tu colección. Entonces, básicamente, cuando hablamos de clase para clasificaciones, estamos configurando un blueprint. Un plano no es una cosa. Es esta básicamente la dirección que vamos a utilizar el edificio, como un plano para una casa no es una salud. Una casa no es una casa que hemos sacado plano y traducimos a un físico . Y eso es lo que vamos a hacer en nuestro objeto o mejorar. Vamos a identificar estas clases, vamos a crear planos. Y luego básicamente, una vez que hayamos hecho eso, entonces vamos a ponernos en la mejilla o crear objetos de esos así y otra vez. Si miramos la analogía del
hogar, el sistema de cine en casa es un sistema de objeto donde cada objeto encapsula un
comportamiento específico . De acuerdo, oculta los complejos detalles de procesamiento de los usuarios o entidades externos, y proporciona una interfaz pública sencilla. ¿ Qué significa eso? Yo miro entonces el reproductor de DVD. De acuerdo, ¿qué significa eso? Y encapsula un comportamiento específico. Sólo reproduce DVD. De acuerdo
, reproduce un lee un DVD a través de un láser. Y como el audio fuera de desde que sale video, no
hace nada. El reproductor DVD Dip no tiene ningún tweeters para resentido la placa reproduciendo la música esos aire encapsulados dentro del altavoz. Televisión, básicamente entonces se va a depositar señales de video para luego mostrarlas. Receptor entonces básicamente tiene una función específica donde va a envolver las señales, amplificar la ciudad y ¿qué es cumplir hasta que esos esconden esos complejos detalles de procesamiento? Bueno, por ejemplo, si nos fijamos en el funcionamiento interno del reproductor de DVD, tienes blazers. Tienes motores giratorios, tienes tres brazos derectos, cosas así. Pero nosotros somos usuarios del reproductor de DVD. No los vemos ahí. No interactuamos. Cuando acabamos de interactuar con una sencilla interfaz pública, hemos colocado paradas ahora rebobinado iglesia y así sucesivamente. Yo no jugaría con el receptor. Jugamos con los botones de volumen y así detalles de esos aire que nos ocultan, y sólo interactuamos con esos sistemas hacen de eso básicamente bien para encontrar interfaz pública . Ese es el
concepto básico, uh, uh,detrás de la encapsulación y la altura de los datos, aunque cada componente individual va a encapsular entonces el comportamiento. Y luego vamos a ocultar los detalles del procesamiento de la facilidad externa. Entonces encapsulación, que es el concepto más fundamental de programa de dibujo de objetos cada componente contenía características y funciones que lógicas relacionadas con el servicio que proporcionan los componentes. Este concepto sencillo es la característica fundamental, probablemente el análisis de historias, y se llama encapsulación. Iban a utilizar ese mismo concepto de encapsulación en el objeto o en programa. A lo que vamos a hacer es ir en nuestro proceso de análisis y diseño, vamos a combinar todas las actividades en las operaciones necesarias para brindar un servicio
en un solo componente y lo que eso significa aversión En nuestro ejemplo estéreo, se van a requerir varias clases para completar el servicio completo I de forma gratuita
volver sistema de cine en casa. Necesitamos un televisor, necesitamos altavoces, necesitamos receptor y así sucesivamente. Entonces vamos a tener que combinar esos. Y así cada una de esas clases más pequeñas y proporciona una porción del general primero. Eso es lo que ocultan los datos de la carne de encapsulación , por otro lado, es que vamos a tomar que
esos detalles, esos detalles complejos, y los vamos a ocultar de las otras unidades para las otras entidades en nuestro
aplicación, por ejemplo, el reproductor de discos es un componente muy complejo conformado por cientos de subcircuitos internos. Haber realizado la tarea de lectura, lectura, sin embargo temas. No vemos que no lo hagamos No entendemos qué está pasando dentro del láser y de los motores y cosas así. De acuerdo, hay enchufes muy fáciles. Esa es la interacción. Si queríamos, entonces enchufa las cosas al jugador. Eso suele ser justo en estos días. Eso es sólo un enchufe en mi cable. Hay unos pocos pero débiles utilizados para controlar la operación. Detente, juega, Rebobinar, Ok. Y todo el complejo procesamiento de datos escondidos que se requiere para producir música o el sonido en realidad
se mantiene oculto de componentes externos. Esto es lo que llaman ocultación de datos e información, y protege la integridad del componente porque solo piensa que pasaría si
pudiéramos entrar en los circuitos internos de la pantalla? Er, cómo iban cayendo eso se sentó muy rápido. Ahora, una cosa que quiero señalar es que aquí se utilizan datos de encapsulación ocultando o dos conceptos diferentes de la analogía. Tengo una máquina de coca aquí arriba, cierto. Está bien. Una máquina expendedora en este caso aquí, en este ejemplo Aquí, encapsula todos los artículos. Todas las Cocas que cocino tengo ahí dentro. Pero si las puertas se abren, no
es cabeza. De acuerdo, que esos esos artículos estén ocultos. Cualquiera puede entrar y sólo conseguir una coca sólo por, uh, llegar y agarrar. Entonces hemos encapsulado el abrigo, pero no hemos escondido las Cocas. Alguien da ahora cuando cerramos la puerta, ¿de acuerdo? No sólo leer, encapsulado las Cocas, hemos escondido el código. Y la única manera de conseguir un ASU de Coca-Cola, esa interfaz pública muerde de enviar dinero y empujar uno de pero así a medida que avanzas , ten en cuenta encapsulación los datos escondidos. Son dos cosas diferentes. Ahora, si haces investigación en Internet, vas a ver a algunas personas pensar que los datos de encapsulación se esconden en la misma cosa. Prefiero que tú, uh, que pienses en estas dos cosas diferentes porque nos metemos en el aspecto de programación de ti, vamos a ver cómo vamos a poder Podemos encapsular cosas sin escondernos realmente y en un buen sólido del objeto bien formado. Programación actual que querías no solo encapsular cosas, también
quieres ocultarla. De lo contrario, no
queremos una máquina de Coca-Cola con puertas abiertas, abrigo
lunar entre con eso que esconde los detalles. Y hay que conseguir una Coca-Cola esa bien definida interfaz pública. De acuerdo, ahora, esta es en realidad la parte más difícil del objeto durante la programación por experiencia con
interés docente . Porque ese es el mensaje que pasa. Si lo piensas. Si alguna vez armó sistema de cine en casa, ¿qué tienes que hacer? Te vas a casa, bajas a tu tienda de electrónica local o lo que sea, y obtienes tu get todos tus componentes, lo
traes a casa, lo
sacas del boxeo, lo
pones ahí fuera. No funciona. Eso significa que lo consigues porque tienes que interconectarte. Y la parte más difícil de armar sistema estéreo casero es conectado todos los cables porque tienes que asegurarte de que todos los cables en la dirección correcta una salida de uno porque luego poner otro. Si te enchufaste al pobre equivocado, eso no va a funcionar. Las cosas tienen que hacerse entonces con ese mensaje pasando con esa comunicación tiene que ser ah, bien definida, bien establecida. Y en realidad es la parte más difícil. De acuerdo, entonces, por ejemplo, de esos componentes deben trabajar juntos. Producción de música. Dis player tiene que leer el escritorio pasa la señal al receptor que pasa las señales del altavoz para que podamos escuchar la música. Muy bien, Entonces, básicamente, en un objeto reprogramación los componentes deben pasar mensajes entre ellos y una secuencia bien definida con el fin de producir lo que cada medio. Según audio, Lo
mismo es cierto de nuestro ob diseño victoriano. Cada objeto va a brindar algún tipo de servicio específico, y ha habido pasiva esa información que envía mensajes al otro objeto en el sistema en orden que produce mi experiencia. Es este mensaje pasando y los estudiantes introductorios lo pasan más duro. Lo que vas a encontrar es que vas a creer que vas a encontrar va a ser bastante fácil para ti poder crear objetos y clases y cosas así,
pero juntándolos para que pasen información y ese orden bien definido si donde vuelve difícil y vamos a practicar mucho de eso entre abajo en el curso. Y si tomas el curso intermedio que sigue a eso, sigues con la práctica ahora mismo. Entonces en eso comunica recordar del para obtener la música, debes conectar cables entre el puerto y los objetos interactúan entre sí pasando mensajes de
factura y esa secuencia bien definida utilizando sólo la interfaz pública. Y tienen que estar conectados. Correcto. Y es que este establecer ese conjunto de mensajes que es la parte más difícil. He encontrado a los estudiantes la mitad al ser presentado por primera vez, objeto en tu programa, ¿
verdad? Entonces otra vez, una de las cosas no iba a cubrir en esta clase, y quiero asegurarme de que esto sea cierto. Aquellos en el concepto básico encapsulación y ocultación de datos. Y en este curso que cuatro vamos a cubrir, vamos a mostrarte cómo básicamente analizarlo. De lo contrario, donde
los componentes, las clases de objetos no solo necesitas construirlo y luego básicamente cómo entonces se van a comunicar entre sí. Esos son bloques básicos de construcción de un programa coreano objeto. Pero de nuevo, ¿cómo vamos a, eh, comer un elefante un mordisco de la época? Porque la programación orientada a objetos es un campo masivo, así que vamos a empezar. Esto es básico. De acuerdo, construyendo esas clases cómo se comunican esas oficinas Porque una vez que has hecho esto desde esta la parte más difícil de ella, entonces el concepto más inmediato de composición, herencia, polimorfismo, clases
abstractas, interfaces, entonces se vuelven mucho más fáciles. Esto se hará en una cancha intermedia, pero otra vez, ¿cómo se compra un comer un elefante? un mordisco a la vez, Pero empecemos con lo básico primero y luego después de haber hecho intermedio, hay algunos conceptos más avanzados interfaces gráficas de usuario, patrones
diseñados, arquitectura sobre trabajar con bases de datos. cubrirán expedientes este amor. Por lo que antes de entrar en el intermedio, queremos asegurarnos de que podríamos caminar antes de correr construyendo una programación simple, orientada a
objetos, identificando qué objeto necesitamos diseñarlos. Entonces, ¿cuáles son los datos que necesitan esos objetos de las operaciones que necesitan antes y cómo comunican
esos diferentes objetos? Si lo entiendes, entonces vamos a poder pasar al curso intermedio de algunos de los temas
más avanzados muy
4. Las herramientas del comercio del comercio de las herramientas: también hacemos análisis ópticos. Nueve, Necesitamos algunas herramientas y lo que vamos a hacer en esta breve lección se describe las herramientas que vas a necesitar. No sólo necesitarías estos para este curso, sino que si vas a hacer alguna programación fuera de análisis diseñado, vas a querer usar estas herramientas, ser competente con él y una de las cosas que quieres recuerda. Debido a que cualquier proyecto de desarrollo de software es un proceso de ingeniería , al
igual que cualquier proceso formal ,
estructurado, ,
estructurado,
repetible como construir cualquier tipo de construcción de un puente, es un proceso formal, estructurado proceso. Y con cualquier proceso de ingeniería, siempre
van a tener un conjunto de herramientas del oficio. Para este curso. Las herramientas que vamos a necesitar es que podrías necesitar un procesador de textos. Sólo vamos a dibujar programa. Pero de nuevo, como mencioné antes, pluma y el papel están bien otra vez. Queremos que te vayas preocupando por el proceso, preocúpate
por el proceso, no necesariamente herramienta, y luego vamos a necesitar un objeto que vaya en entorno de programación encendido. Pero si ya tuvieras un programa de programación hecho, probablemente no
tengas ambiente funcionaría para el lenguaje de elección. Um, otra vez, cualquier programa de secado que te gustaría usar. Ah, esta fina pluma y papel encuentran de nuevo. El propósito aquí es pasar por el proceso. No necesariamente herramienta. Si haces una búsqueda de herramientas de modelado UML gratuitas, vas a conseguir varios hits. El cuando me gusta usar mi herramienta gratuita es draw dot io. Y si vas al sorteo audio I o sitio, puedes ver que puedes guardar diagramas. Y, por ejemplo, basta con hacer clic en el que Dr Arroz Puffed Crear un nuevo diagrama en mi conexión. Pasar por el diagrama. Pero se nota aquí abajo todo tipo de diferentes tipos de herramientas diagrama UML y luego podemos crearlo. Básicamente usa la carpeta raíz. Y hemos notado aquí abajo obtenemos nuestros diagramas UML básicos y podríamos seguir adelante y expandirnos en estos bien no gratis video UML es en realidad un muy buen trato. Herramienta de modelado derretir. No lo es. No es verdaderamente grado profesional, pero es bastante bueno para unos dibujos rápidos y sucios. Y estaré usando visual para toda mi demostración para herramientas de programación. De nuevo, hay muchas cantidades que dependen del idioma que vas a usar. Podrías usar inactivo. Si vas a usar un python, también
podrías crear programas de iago pro Gore Python y visual studio también. Si vas a usar Java, podrías net beans o eclipse. Ahí hay toneladas de monte y otra vez. Mi troll, Detroit para este curso va a ser visual studio download, comunidad
Visual Studio 2019. Y si vas al sitio de descargas, tu seethe de la granja y lo que vas a querer elegir su no opten por prueba gratuita con el profesional de Enterprise que solo vas a conseguir esos esos aires destinados equipos
grandes. Um, único que va a conseguir esos por 30 90 días pero vas a querer hacer es ir a la comunidad de
descargas gratuitas , descargar y descargar el y los de ahí abajo se va a descargar, y luego una vez que empiece a descargar, guarda el archivo, luego entra y ejecuta. Esto podría ser una descarga bastante grande. No necesariamente voy a pasar por todo el proceso, pero recién inicié y luego seguí la caída de las instrucciones de las instalaciones y tu
lo hacen muy bien. Es un proceso relativamente sencillo, uh, aquí
abajo. Aquí no hay sonido. Aquí hay un artículo. Y si haces una búsqueda en la Web, John instalando la comunidad de Visual Studio 2019 o encuentras muchos videos también, hay una cosa de la que hablaré es y cómo realmente vas a querer
configurarla una vez que esté instalado. Quieres asegurarte de tener los videos de oponentes correctos, descargas de estudio
visual y comienza la instalación. Ya sea que eventualmente te van a llevar a esta pantalla. Ahora, las direcciones y algunos del otro artículo lo vas a ver,
um, um, si quieres hacer el programa C Sharp y dar click a esto rápido que asegúrate de que esté seleccionado. Um, encontré que a pesar de que la dirección común dice que solo necesitas thes, he encontrado que va a ser útil si seleccionas ese punto net core 2.2 herramientas de desarrollo y también con los programas más nuevos. Yo también he tenido las herramientas 4.7. Siempre sonaba. Esos fueron útiles para hacer eso, proporcionar más flexibilidad en el otro. Si bajas y seleccionas Python, si quieres comprar programación pulgar, solo falla de conflicto. Vaya y haga clic en modificar y continuará con la operación. Y luego una vez hecho eso, deberías poder iniciar abierto de estudio visual y empezar
5. Crea una descripción del sistema: bienvenidos a la siguiente lección. Una reprogramación óptica creando la descripción del sistema. En mi experiencia, crear la descripción del sistema es una de las actividades más impopulares que tanto hacen
los desarrolladores , tan a menudo las actividades simplemente se saltan por completo o si se intenta muchas veces no
lo es. Ha estado mucho tiempo en eso, dijo sus desarrolladores introductorios. Es importante darle un lugar para iniciar el proceso de diseño de análisis que encontré que creó la descripción del sistema es el mejor lugar para comenzar. Ojalá, después de esta lección, estés de acuerdo y usarás este proceso cuando crees tus propios programas. El objetivo del análisis y el diseño es comprender las clases y objetos que necesitas para crear tu programa clásico. Y es necesario comprender los atributos y operaciones de clase y objeto, las relaciones entre las clases y los objetos y los datos y los mensajes que necesitan pasar entre las diferentes clases de objetos. Pero muy importante saber cuando empiezas por primera vez, no
sabes los detalles de todos estos qué quieres asegurarte de que tú bajo hagas si quieres entender lo que necesitas hacer sin preocuparte de cómo lo vas a hacer. Esa es una gran distinción entre qué? Cómo, cómo es cuando hablas de uno de los detalles muy detallados que necesitas para lograr lo que es exactamente lo que vas a hacer cuando nos metamos en el diseño y el proceso del programa , Te descifras exactamente cómo se supone que lo hagas. Al hacer el análisis y diseño tratar de pensar que es posible niveles altos y evitar detalles de
programación durante el análisis
y particularmente, y también cuando te
metes en el diseño, vas a tener mucho tiempo para pensar en los detalles. Pero aquí de nuevo, quieres pensar en lo que estás tratando de hacer y no en cómo se supone que lo hagas. Entonces antes de empezar a programar, si no puedes escribir una descripción detallada de qué quieres que dé tu sistema, entonces no vas a entender el sistema lo suficientemente bien como para proceder realmente. Se quiere poder trabajar en esa descripción del sistema hasta que se asegure, y si tiene alguna otra gente con la que está trabajando, ponerse de acuerdo en lo que se supone que el sistema debe hacer ahora. Esto puede no ser todo emocionante, pero es extremadamente importante, y de una manera u otra, lo
vas a hacer. O tienes que hacerlo es un paso separado o hacerlo mientras intentas programar. Es mucho más fácil hacerlo como un paso separado para tener evitar ese tipo de cabello en fuego de entorno de programación. ¿ Qué es exactamente una descripción del sistema? A Descripción del sistema es una explicación basada en texto de lo que se pretende hacer el programa . Escrito en términos de la costumbre, la descripción del sistema identifica un requisito de alto nivel, comenzando con una declaración general de lo que se supone que debe hacer el programa. Y luego a través del refinamiento y en aireación, capturan y documentan niveles más bajos y más bajos de requerimientos. No te voy a leer la descripción del sistema, y dije sin embargo sugiere que posites video y leas la descripción. Vivimos en partes de descripción para poder identificar los objetos y operaciones y los datos de esos objetos en las próximas diapositivas de pareja. Entonces, ¿qué necesitamos identificar a medida que pasamos por la descripción del sistema? Una de las cosas que queremos recordar una clase es una colección de nombres de miembros que
métodos completos fechados que operan en los campos y métodos de datos y los
campos de clase o llamados miembros de clase siendo los atributos. OK, entonces cuando escuchas el término miembros de la clase, podría ser cualquier cosa que esté contenida en las clases. Hace más lectura, escuchas que ese término es bastante. Algunos de esos campos son los atributos y que las variables esas tienen los datos para los métodos y funciones de
clase o las operaciones que proporcionan el procesamiento en los
atributos de clase constructores, que mencionamos lo harán. Pero antes estos métodos aéreos especializados en configurar o construir el estado inicial del objeto, vamos a crear getters getters, método especializado en
aire que el acceso a los miembros de datos de clase y luego los centros se especializan métodos que modifican los datos de clase Los miembros iban a ilustrar cómo capturamos cada uno de estos y luego eventualmente te mostrarán cómo vas a implementar. Como mencioné, la descripción del sistema es básicamente la base de todo lo que hacemos. Si hemos hecho un buen trabajo con la descripción del sistema, vamos a poder identificar todos nuestros objetos y sus miembros de la clase. De acuerdo, entonces vamos a usar ese sistema krypton para poder extraer esos objetos. Está bien, ahora, sé que no pensaste que entraste en una clase de inglés, pero lo que vamos a encontrar es que si miramos un objeto y un objeto básicamente va a ser lo que un sustantivo de la descripción del sistema, por ejemplo, actores, cosas, unidades
organizativas, lugares ,
estructuras, nota Esos eran todo tipo de sustantivo los anuncian y vamos a poder luego tomar esos, tomar esa descripción del sistema, identificar el sustantivo, y los vamos a subrayar ahora. Una vez que subrayamos esos downs lo que hemos hecho, básicamente
creamos nuestra lista de clases y objetos potenciales. Entonces ahora es siempre vamos a tener algún tipo de verbo o asociado con esos verbos en que están asociados con esos cada individuo. Ahora, nos vamos a convertir en las operaciones de las de los objetos Cada ahora y cada vez y burb que va junto con ello va a tener un tema de esos. Ahora vamos a bulldoze, y esos van a ser los datos que vamos a tener cada uno de esos objetos . Entonces, separemos la descripción del sistema y veamos exactamente cómo se ve eso. Entonces, cuando empezamos con la descripción del sistema, podría ser largo. Se trata de una bastante corta. He visto estos que han tardado probablemente varios años en crear, y tendrán 2030 páginas de largo que no puedes manejar sin posar. Lo que quieres hacer es descomponerlo, lo
imparte frase por frase. Pero en este caso aquí, vamos a empezar con la parte superior. Y lo que vamos a hacer es documentar con lo que se llama un CRC estos aire, esa responsabilidad de clase, tarjeta de
colaboración. Y esto es sólo una manera para nosotros a una herramienta para que analicemos los objetos en su en sus otros miembros de la clase. Entonces lo vamos a empezar. Nosotros lo analizamos, lo que significa que lo vamos a romper y vamos línea por línea. Decimos inicio pequeño. Un desarrollador de empresa necesita crear un empleado, pero programa de pago Ahora calcula la paga con los empleados, aunque, en ese primer comunicado, obtenemos nuestras 1a 2 clases, tenemos un programa y tenemos un empleado. Y entonces lo que vamos a hacer es poner esos en esta tabla, y vamos a usar este día de mesa eventualmente crear el diagrama de clases. Por ejemplo, en este caso, aquí tenemos un aviso de empleados principales aquí abajo. Tipo de nombre Lo renombré de programa de pago es lo que vas a encontrar es que cada programa va a tener una clase donde va a ser el punto de partida. El punto de entrada de la aplicación, mi estilo y vas a ver diferentes estilos es usar el término main y luego básicamente el nombre del programa. Aquí es donde se encuentra el punto de entrada de la aplicación, que demostró. Pero más adelante, no
quieres poder describir lo que se supone que es esa clase. ¿ Cuál es la responsabilidad? Está bien. Por ejemplo, clase de
empleados, este va a ser el objeto de negocio que sostiene la información de los empleados y el proceso es la paga . ¿ Quieres poder identificar esto? De acuerdo, así que hemos identificado en este caso aquí nuestras 1er 2 clases potenciales. De acuerdo, entonces ahora nos vamos a ir. Ya hemos dado el primer paso. Ahora vamos a romper la segunda parte, ¿de acuerdo? Y vamos a buscar la primera versión del programa. La empresa quiere que el empleado de nómina ingrese. De acuerdo, entonces tenemos un verbo y un. Está bien. Y luego seguimos bajando. Y entonces se calculará la paga bruta del empleado pero otra burba para luego exhibir. Entonces ahora tenemos entonces que asociar thes Tenemos que asociar thes verbos que van a convertir en nuestras operaciones con lo respectivo o lo correcto con el objeto correcto. Lo volvemos a mirar, descomponemos otra vez. No miramos que hay un todo lo descomponemos. Declaración por declaración, lo haríamos. La empresa quiere que el empleado de nómina ingrese. De acuerdo, entonces ese caso aquí, vamos a poner eso y voy a llamar a esto Obtener información de pago. No, está ahí abajo. Simplemente no usé el término input. Pongo un nombre más descriptivo en él y luego tenemos uno aquí abajo mostrar los
programas principales también van a exhibir. Entonces asocio eso con la nariz principal del programa aquí abajo, hay que tipo de funciones de sobrecarga que no están incluidas. Son básicamente que tuve que conducir desde el análisis es uno va a ser el programa principal va a existir en esa clase. Y entonces cada programa que yo cree va a tener un método de programa de salida que básicamente va a limpiar las cosas para el programa, ¿sabes? Entonces tenemos una pantalla principal get, y a continuación, casi todos los ejemplos que vamos a utilizar nuestro programa principal van a seguir esto Esta misma estructura. Muy bien, entonces tenemos a los empleados. calculará el pago de crecimiento. Por lo que de nuevo, digo calcular aviso de pago bruto. Yo distancia, calculan por muy específico digamos, sueldo bruto
calculado. Y nuevamente se mostrará el programa. Y de nuevo, estamos asociando la pantalla con el programa principal. Se trata de una unidades de negocio. No va a hacer ningún usuario de visualización real. Vamos a dejar que el programa principal se encargue de eso. Y esas son todas básicamente estas cosas aquí básicamente entonces todas asociadas con los objetos de los empleados. Tenemos empleados nombre paga por hora, aviso de trabajo
por hora aquí abajo. No puse un método de pago bruto. Yo sólo tengo un sueldo bruto de cálculo. Y a lo que estamos yendo entonces dio es a donde cada vez que queremos a la pantalla, vamos a calcular en tiempo real también notamos aquí abajo no dejamos enumerar juntos y centros para los atributos muestran un poco más adelante. Siempre se va a suponer que se crean si se crean getters y centros para todas estas actividades, Cuando se tiene una larga lista de atributos aquí, sus diagramas se van a poner muy complejos. Y entonces tenemos un,
uh, uh, este método aquí, obtener información de pago. Ahora bien, esto no está listado en la descripción, pero lo que tienes que hacer es una especie de usar tu experiencia a medida que obtienes una Z adelante que lo que vamos a encontrar es cada vez que creemos un non object para ese ejemplo, esta los empleados de casos siempre iban a tener que esperar y tener una manera de sacar información de ese objeto. Pero en este caso aquí, voy a llamarlo, volver a
obtener información de pago. No está en la lista, pero básicamente derivamos esto de los requisitos, sabiendo que dónde eventualmente recogería estos datos. Tenemos este sencillo programa académico. Tengo aquí un programa que va a dibujar el círculo en pantalla. Te diste cuenta de que lo mismo tienen las mismas estructuras de patrón de diseño son ejemplo Círculo principal y
tenemos una clase de círculo y todo lo que vamos a hacer en este programa para dibujar el círculo en la pantalla. Simple programa académico. No obstante, si quisiera crear un programa de mundo más real. Yo quiero caer más en círculos. Quiero poder soltar programa cualquier forma que notes aquí abajo, la estructura de cada uno de estos ítems individuales, las relaciones entre las diferentes clases. Es prácticamente todo lo que hemos cubierto. Hay algunos detalles de los que tenemos que preocuparnos. Pero la complejidad de este programa no es por las clases individuales. Es la complejidad surge debido al complejo general es la pura número dos clases que tienen que entrar en el programa, y las colaboraciones Simple se vuelve compleja solo por tamaño. Ahora, una última nota Crear la descripción significativa del sistema es un trabajo duro. Tantos tantos desarrolladores ni siquiera lo intentan. Lo que quieres hacer es que queremos asegurarnos de que sacamos primero la avenida fea porque es una actividad intensiva de comunicación. Hay mucho refinamiento de cerdo de ida y vuelta. Ahora, lo que pasa con esto es que lo vas a hacer ahora. ¿ Lo vas a hacer más tarde? Como mencioné, si no haces este sistema describe el paso separado asegurándote de entender lo vas a hacer antes de empezar a diseñar antes de empezar a revestir, entonces lo vas a hacer. Si por qué haces el diseño cerca de Cody, lo
vas a hacer de una manera u otra, y experimentaré espectáculos y todos los shows de investigación por cada hora que pases trabajando en la descripción del sistema y en la elaboración. Seguro que se está poniendo correcto. Se va a devolver por sí mismo diez veces en lo menos más. Tienes que sacar a esa fea del camino. o temprano, bien lo haces ahora un paso separado donde vas a estar haciendo esto. Por qué en realidad estás programando lo hace mucho más diferente. Entonces el siguiente paso vamos a aprender, en realidad, cómo tomar ese diagrama CRC y en realidad, cómo crear el UML un diagrama de clase.
6. Algunos puntos de precisión: Hola. Bienvenido a la siguiente lección de programación orientada a objetos. Puntos finos ahí. Un par de cinco puntos que queremos discutir antes de entrar en los detalles de la creación de diagramas de
clase Ruml . Estos también están muy cerca de los detalles de implementación, los cuales tratarán de evitar hacer análisis y diseño. Pero es una buena idea empezar a considerar estos detalles no haría análisis el concepto que vamos a discutir y en esta instancia constructores de Lessner, miembros y compartidos y estáticos y vamos a cubrir los detalles de implementación cuando empecemos programación más adelante. Una cosa que queremos asegurarnos de que entendemos a medida que avanzamos es la diferencia entre una clase y un objeto. Hemos estado usando el ejemplo de construir la casa. Un plano para una casa no es cosa física. Está en papel. Es básicamente cosas pensadas. Básicamente es como se supone que se construirá la casa. Es básicamente como los contratistas al ir dedo del pie localiza dos direcciones para construir una casa . Utilizamos esos planos para construir 1/2 y la casa es cosa física, y podemos usar el mismo conjunto de planos para crear muchas casas como queramos a partir de esos planos podemos crear 100 casas, y si usamos los mismos planos, van a ser 100 casas idénticas. Ahora usamos esa misma idea, un objeto. Las clases de programación coreana no son cosa física. Vamos a crear nuestras clases, que son la cena va a ser básicamente plano para los objetos. Vamos a usar esas clases como plano para construir objetos. Esos objetos se crearán en la memoria y estos objetos en nuestras cosas físicas que después
podríamos trabajar con la pregunta se convierte, ¿Cómo entonces construimos un objeto en la memoria basado en la definición de clase? Entonces veamos el mecanismo para crear objetos, y eso es con los constructores. Buscamos en el diccionario para la definición de construido es construir una re directa. Entonces, cuando creaste una instancia de un objeto, lo contrario instantáneo es cosa física de una clase. Tenemos que construir el objeto. Y esos son los pasos de ejecución del programa necesarios para apartar miembro e inicializar la variable
óptica. Ahora, nuevo, voy a enfatizar, tener en cuenta, un objeto es una cosa física en la memoria que se construye usando la definición de clase como un plano para la construcción. Con esa definición, mente vamos a definir una clase liberada constructiva y tener en cuenta que es un
método especializado que tiene el mismo nombre es una clase no tipo de retorno, y el constructor entonces debe ser invocado cada vez que un nuevo objeto de las clases creadas. Entonces esta es una clase tenemos empleados clase con su Ah, Constance. Es muy tanto como sus miembros de datos. Y entonces siempre vamos a tener un método especializado llamado empleado notado. Ese método constructor siempre es el mismo. El nombre es un aviso de clase. No hay tipo de retorno notado. El método constructor siempre es el mismo nombre que la clase, y nunca va a haber ningún tipo de devolución. Y cuando queremos crear un nuevo objeto, tenemos que invocar al constructor. Y eso lo hacemos. Nosotros usando la nueva palabra clave nuevos empleados, nuevos empleados que emplean lo que esta afirmación diciendo es básicamente entonces va a invocar el código dentro del constructor para crear físicamente esos objetos de memoria. Una vez que hayas creado esos objetos en la memoria, podríamos entonces manipular inmediatamente de forma individual. Ahora queremos mirar ese otro término que vas a escuchar bastante y eso es un instante tomó
una definición de diccionario e instancias,
un ejemplo o sencillo de ocurrencia de algo. En resumen, si tienes una instancia de algo, tienes una cosa concreta 10 tangible. Ambos. Por ejemplo, puedes tener varias manzanas, cada una siendo una manzana de horno de instancia específica. Cada uno de estos es un objeto único, separado que se puede manejar independientemente el uno del otro. Ahora vamos a usar el mismo concepto en nuestro pro pero luego asociado con cada instancia del objeto. Entonces si creo tres objetos de memoria de empleados por un empleado a empleados tres. Todas estas son instancias de la clase de empleados. Cada uno de esos tiene su propia copia de las variables nombre del empleado, tasa de
pago y horas trabajadas. Esto por si aquí, Bill 45 horas volvieron a trabajar. Cada uno de estos miembros de instancia se recrea cada vez que se crea un objeto. Entonces tenemos una instancia de un objeto, y estos en nuestros llamados miembros de instancia por los que no vamos a hablar ahora mismo, pero también vamos a averiguar que los métodos también pueden ser miembros de instancia. Pero ahora mismo sólo vamos a preocuparnos por la variable. La única cosa que siempre quieres tener en cuenta cuando ponemos un objeto de memoria que es una instancia de la clase. Entonces si se llega a nuevo objeto recrearse, vamos a tener miembros de instancia que vuelven a crear para cada objeto. Entonces lo que quieres recordar cada instancia de objetos. A continuación, se recrea a los miembros para cada instancia del objeto. Si se crearon tres objetos empleados, entonces habrá tres copias de empleados. Nombre par. Ocho horas trabajadas con cada una siendo encapsulada y luego cerrando objeto. Si entonces creáramos 100 objetos empleados, entonces habría 100 copias de cada miembro de instancia de la clase. Ahora que hay una distinción entre lo que llamaron estático, donde a menudo se escucha el término miembros compartidos, estáticos o compartidos, los miembros son miembros que forman parte de la clase pero no específicos de ningún objeto de la clase . Pero por ejemplo, tenemos aquí nuestros empleados objetan, y el nombre predeterminado tasa mínima, tasa
máxima horas mínimas no son específicas de ningún objeto específico, por lo que no queremos tener que recrear esos para cada objeto. Entonces lo que vamos a hacer es que vamos a definir esos es miembros estáticos o compartidos, y lo que pasa es que esas variables en este caso, constantes luego se asocian a una clase de empleado. Sólo va a haber alguna vez una copia de los miembros estáticos, y cada uno de los objetos individuales, si necesitan acceso a esos, van a compartir esos valores ahora. No te preocupes demasiado por los detalles y cómo Oregon implementa constructores y
métodos estáticos . Esos detalles se cubrirán, y comenzamos a programar. No obstante, quieres familiarizarte con estos conceptos, son ellos y ambos surgirán en análisis y diseño. Cuanto más exposición para llegar a estos conceptos, más fácil va a ser la implementación. Ahora que nos han introducido el concepto de constructores, instancia de objetos, miembros
instantáneos y miembros estáticos, podríamos entonces proceder con nuestro en la oficina y firmar.
7. Crea la estructura del programa: acogió con beneplácito la reprogramación óptica. En la siguiente lección de esta lección vamos a discutir cómo crea su
diagrama de clase de correo a partir de la tarjeta CRC que creó en la lección anterior. Como probablemente hayas descubierto, crear la descripción del sistema y las colaboraciones de responsabilidad de clase Guardias puede ser difícil. El comentario que obtengo tanto de estudiantes introductorios como de muchos desarrolladores con experiencia, es que el análisis inicial y captura el sistema requiere corazón porque es tan difuso que es, tú eras el cliente, y yo saber lo que quieres. Cada vez que crees que tienes los requisitos clavados, alguien cambia de opinión. Sin embargo lentamente y paso a paso, eventualmente
creas una versión de los requisitos de alto nivel como detalle suficiente para proceder. Creo que lo que estás bien, que una vez que tienes un alto nivel requisitos capturados, los procesos de seguimiento son mucho menos difusos y mucho más concretos y fáciles de entender . Según encontrarás como desarrolladores veteranos o te dirás cuanto más concreta sea la actividad, fácil es captar, y cuanto más divertido sea llevar a cabo en esta lección, vamos a traducir a tarjetas CRC en una clase de lenguaje de modelado unificada diagrama, que luego nos lleva un paso más hacia el concreto para crear los elementos de diseño. Tenemos que llevarnos a programar mucho levantamiento pesado. Hemos identificado nuestras clases. Hemos identificado las operaciones, los atributos de la clase. Lo ponemos en formato de tarjeta CRC. Utilizo un formato de tipo tabla y que puedes hacer esto de todos modos te guste. Pero lo que hacemos es que hemos identificado las responsabilidades, operaciones y atributos y colaboradores entre los diferentes objetos. Entonces, ¿cómo entonces tomamos esta información que tenemos aquí y traducida al
diagrama de clase UML tratando de usar video? Todas las herramientas que he usado hacen básicamente lo mismo tipo de los mismos
pasos operativos . Entonces voy a lo primero. Voy a ir a empezar un nuevo expediente y notarme aquí abajo cuando vaya a visitarte. Mis favoritos son los que usé previamente están listados. Pero es posible que no veas que un fusible y video uso excesivo se seque. Ah, si solo estás haciendo este domingo en una pieza en el papel, ¿vas a saber,
son básicamente los mismos pasos, así que voy a ir al software y a la nariz aquí abajo y tengo un diagrama de clase UML humano. Selecciono que en este caso aquí, quiero que nos unidad y luego note Por aquí a la izquierda, obtengo todas las diferentes formas de que podríamos usar el nuevo tiempo de clase media. Sólo vamos a usar una pareja, Pero el 1er 1 dice, vamos adelante y tomemos. Necesitamos una clase. Estas dos clases, uno de los empleados principales que tienen desempleados. Por lo que se construye cada uno de manera individual. Entonces vamos a hacer los principales empleados. Entonces voy a tomar una clase. Voy a arrastrarlo por encima. Ya lo sabes. Acerque un poco eso. Entonces veo un poco más fácil. ¿ De acuerdo? Y luego obtenemos de nuevo el nombre de la clase aquí. Simplemente voy a solo estoy usando la plantilla en las tarjetas CRC, como plantilla aquí en el blueprint para crear los diagramas de clase. Entonces dice:
De acuerdo, De acuerdo, voy a crear algo llamado empleados principales. Por lo que escribo en los empleados principales y de nuevo me di cuenta. No lo hagas. Aquí. No pongo ningún espacio en un diagrama UML. Este bloque superior aquí arriba está reservado para los atributos, y el menos significa que va a ser privado B plus y luego casi todos los atributos, excepto las constantes, casi siempre van a ser menores. Entonces entro y dije:
Vale, Vale, ¿qué necesito? No tengo ningún tributo de acto real en la clase principal que he enumerado. ¿ De acuerdo? Y así Pero ahora sí necesito poner en las operaciones. Entonces si no tengo atributos, podrías creerlo ahí. O podrías simplemente cortarlo. Y así no hay atributos que sean perfectamente aceptables. Ahora, en este caso aquí, voy a tener una función principal. Está ahí, escribe en función principal, y luego voy a tipear a Maine. Ahora, en este caso aquí, no lo hacemos como vamos a hablar un poco más adelante, esto va a ser una función compartida o una función estática. Por lo que quiero subrayarlo. Por lo que subrayó esa función. No, quiero agregar otra función. Yo sólo podría golpear retorno en este caso. O podría insertar un miembro una y otra vez, voy a tener otro obtener información de pago, otro método. Y de nuevo, este también va a ser un método compartido, que hablamos en la siguiente lección. El incidente del miembro Después de mostrar información de pago. Inserta otro miembro después de plus, y va a ser salida excelente. Renombrar este programa Terminar la clase de empleados principales. Tengo la clase de empleados principales. Tengo una función principal, que va a ser un miembro estático. Designé que es una función solo por legibilidad pero en los paréntesis ahí para mostrar que no está aceptando ninguna información. Y probablemente debería decir que siempre va a ser una función nula. De lo contrario, no
volveré a devolver ningún valor. Esto quizá esté cerca de una decisión de diseño que tomes, pero si te identifican ahora, no hace daño hacerlo. ¿ Tenemos el método de información de pago que va a ser nulo, no aceptando valor? El medio subyacente. Es la información de pago de pantalla estática y también terminar programa pro. Ahora voy a decir Vuelve atrás. OK, ahora vamos a crear clase de empleados, así que traigo otra clase al dibujo aquí. Es un nombre dis exactamente Ahora, Recuerda antes dije, medida que pasas paso a paso, estamos encontrando la información. Estamos encontrando los detalles. Vas a estar haciendo eso como tú mientras haces estas traducciones del elemento 11 al siguiente. En este caso, aquí tenemos lo que tenemos que hacer, lo que queremos dio y luego bajando aquí. Empezamos a crear nuevo diagrama de Mel. Podríamos afinar nuestra información. Podríamos agregar cada vez más detalles, por ejemplo, aparecer, decidí que va a estar en los empleados medios. Decidí que estos trabajos y no van a aceptar ningún argumento en este momento. Voy a hacer lo mismo en clase de empleados en este caso de aquí. Voy a poner primero los atributos porque van al bloque superior por aquí y en realidad
voy a dar a los algunos tipos de datos. Entonces voy a decir que todos los atributos, mayoría en los programas que creo todos van a ser privados, no crear getters y centros más adelante. No este caso aquí en ti haces nombre de empleados, y luego aquí voy a poner un colon y voy a poner el tipo de datos. Aquí es cuando tengo que empezar a pensar en ello. Me estoy acercando y acercando a la implementación, así que hay que empezar a pensar ahí. Dijo, uh, este tipo de información. Ahora de nuevo, los procesos de refinamiento paso a paso Cada vez que damos un paso adelante, impulsa más detalle. Por lo que el nombre de los empleados podría obtener ortografía que nombramos correctamente. Y luego pongo el carbón y esto va a ser un valor de cadena y luego añadir otra media tabla y otra vez, va a ser un privado. Entonces pongo el menos al frente, y voy a cambiar en una tarifa de pago por hora a tarifa de pago. Y de nuevo, eso va a ser un doble valor porque sabemos por los requisitos que esto va a ser algún valor, algún número real. Por lo que tiene que ser un doble valor. Yo sí inserto después de nuevo, va a la siguiente van a ser horas trabajadas. Yo solo lo llamo horas trabajadas. Una hora de trabajo también puede ser un número real. Entonces esto va a ser un doble valor de datos. Entonces ahora está bien, mis atributos para encontrar Vamos a seguir adelante y crear los métodos. En este caso aquí, tengo un método llamado polla Wake Gross pay. Y de nuevo, puede
que tenga que pensar en esto un poco antes de Internet. ¿ Qué es calcular sueldo bruto cómo visibilidad, Qué datos se van a aceptar entonces y demás es por pasar por el ático ahora análisis y otra vez, puedo afinar esto más adelante. Es cuando empiezo a crear el proceso de Sudoku real. A ¿Para qué? Estaremos haciendo un par de pasos y dijimos:
Bueno, Bueno, esto va a ser privado. Mi pensamiento inicial va a ser calcular el dolor bruto. Yo lo nombro. No voy a aceptar ningún valor porque voy a poder usar para pagar tarifa Ahora hemos trabajado en la clase. No tengo dedo del pie vaya a conseguir ningún valor. No sé si el pasado, algún valor en y esto va a ser evitado. Tampoco en realidad esto va a devolver un doble valor porque en realidad es el pago del crecimiento. Y de nuevo, esto es solo diseño. Y a medida que avanza cada paso, puedes cambiar su. Eso está bien otra vez. Puede que no consigamos esta grieta al 100% esta primera vez, pero estamos haciendo las cosas más aclaradas a medida que van por ello siempre podrían cambiarla más adelante . En este punto no hay nada escrito en piedra. Entonces hago otra. Voy a obtener información de pago por lo que las informaciones de pago podrían ser públicas porque lo que necesito hacer en este es necesito Teoh recoger toda esta información empleados nombre horas trabajadas en la paga
bruta, y necesito pasarla de vuelta a la principal para pasado de nuevo a la función principal para la visualización. Pero este no es el público, así que tengo que poder conseguir que obtenga información de pago. No necesito pasar ningún parámetro porque esta puerta obtener información de pago solo va a cobrar. Ya está la información,
pero va a devolver una cadena para su visualización. Entonces si vuelvo, dije:
Vale, Vale, me han creado mis clases. He creado las operaciones en cada clase. De acuerdo, tengo los atributos en la clase, pero no he puesto los no han puesto en los colaboradores. No nos vamos a preocupar demasiado por el dispositivo de entrada. Y el dispositivo de salida haría eso. Y más eventos. Avanzó lecciones. Pero por ahora, sólo
somos uno que dijo bien, ¿cuál es la relación entre los principales empleados y empleado en este caso aquí? Podemos simplemente poner un básico lo que ellos llaman una asociación. Pero voy a poner una relación de agregación porque lo que esto básicamente va a decir es que la función principal aquí, el programa principal, va a contener un objeto empleado. Entonces vamos a decir, Pon eso ahí y dice, OK, vamos a decir OK, esto básicamente establece entonces la relación que hemos hecho empleados que va
a usar un objeto empleado. Entonces así es como tenemos que hacer para crear el diagrama de clase you mail y te das cuenta que hicimos todo el levantamiento pesado aquí en nuestro análisis sobre y luego la transformación del transporte de la traducción del CRC fue en realidad bastante sencilla. Ahora dicho eso, sólo
tenemos que hacerlo. Este es un programa académico. Hay dos clases y de nuevo, como mencioné antes, lo que hace difícil un programa del mundo real no son los pasos que realizamos porque sólo
vamos a estar realizando los mismos pasos. Pero lo vamos a estar haciendo por cientos de clases, posiblemente incluso miles de clases. Entonces nuevamente, esta es la situación donde la complejidad está impulsada por el tamaño. Entonces lo que queremos hacer ahora es ahora tenemos que luego tomar este diagrama estructural, que es básicamente nuestro diagrama arquitectónico para nuestro programa, y luego llegamos a ver determinar exactamente cómo los principales empleados y el y los empleados en realidad se van a comunicar, y ese será el siguiente paso cuando hablemos de modelos de comportamiento.
8. Análisis del comportamiento: Entonces, ¿cómo vamos a seguir adelante y construir la secuencia Day, Graham, Recuerda, ya que estamos haciendo el proceso de refinamiento paso a paso como vamos de la descripción del sistema, entonces
entramos en el diagrama de clases fusionar esos dos juntos para llegar al comportamiento del sistema. Entonces, por ejemplo, volvemos a la descripción del sistema y ponemos en Si sacamos el pasaje clave en el
procesamiento vemos la empresa quiere que el programa acepte cuando los empleados nombran el número de horas que el empleado trabajaron el pago por hora el programa cuando calculan el sueldo bruto mostrado nombre de los empleados. Entonces esto básicamente nos dice lo que se supone que debemos hacer. Ahora hemos fusionado eso con el diagrama de clase para llegar a diagrama de secuencia. Entonces esto es lo que vamos a inventar, no demostrar cómo funciona y notar aquí abajo. Lo que esto dice es que tenemos al empleado de nómina. Va a iniciar el programa. En ese caso aquí, el principal programa patronal tiene que crear una ejecución de objeto empleado, luego regresa al programa principal. El programa principal entonces va a mostrar la información y va a obtener la información de la nómina Una vez a medida que obtenga la información de la nómina, va a poner el nombre en el objeto de los empleados. Vuelve la ejecución a los principales empleados. Se va a fijar las horas trabajadas, y luego se va a fijar la tasa de pago, y luego se va a obtener la información de pago. Es piel entonces y dentro del objetivo, el objeto empleado. Tiene que luego calcularlo, se voltearon esa información y luego para mostrar. Entonces ese es básicamente el conjunto de comportamientos que vamos a tener para luego volver a modernizar. ¿ De dónde sacamos eso? Volvemos a la descripción de nuestro sistema, nos
dice lo que se supone que estamos haciendo. Entonces eso es entrar y mostrarte cómo. Entonces creamos esto. Esta es una buena que hacer en una pizarra antes de intentar conducir comienza su Va a haber muchos cambios
a medida que pases por esto. Si consigues esto, ya
sabes, 75 80% correcto La primera vez que te va muy bien porque solo va a cambiar a medida que obtienes más y más información. Entonces otra vez, voy a ir en video y otra vez voy a poner luego en una nueva página. Voy a renombrar esta página. Esto va a llamar para llamarlo el diagrama de clases. Voy a crear una nueva página aquí, y ésta de aquí. Voy a llamar al Diagrama de secuencia. No, no
tengo ningún símbolo por aquí para el diagrama de secretos. Pero si subo más formas y empiezo todas las herramientas básicamente tendrán los mismos tipos de formas software disponible, y voy a crear un diagrama de secuencia UML. Entonces lo primero que podría hacer es que necesito poder tener un actor de la línea de vida. Este es el actor. Entonces voy a arrastrar al actor por aquí el doble uh Y voy a llamar a esto el empleado de nómina cada revisión, el diagrama de clase media U. Vemos que el objeto Knicks que necesitamos es el principal objeto de los empleados. Por lo que agarró un objeto que está extendiendo una línea de vida. Pequeños pedacitos de podrían necesitarlo. Vamos a nombrar esto y usamos el diagrama de tu correo. El objeto de los principales empleados hace que ese poquito más grande para que puedas verlo. Y también vamos a necesitar de nuevo un objeto empleado. Creamos el objeto empleado, lo
hacemos un poco más grande asegúrate de conseguir capturar todo en nuestra línea de vida y
vamos a llamar a esto empleado, y lo voy a llamar empleados para designar que este es un objeto real en la memoria. Entonces vamos a utilizar la descripción del sistema para especificar el procesamiento. Bueno, lo primero que ha pasado, los empleados de Paywall pueden venir y comenzar el programa, así que vamos a agarrar un mensaje. Yo estaba abajo cerca de los anclajes de perforación de los impuestos, también, y vamos a decir inicio hecho. Por lo que inician la ejecución del programa después de iniciado en el programa de ejecución que tiene el
empleado principal desde Stan. Ella se comió el objeto empleado. Vamos a agarrar otro mensaje y pasa por aquí a los empleados y va a llamar
al constructor. Y sólo vamos a decir que va a crear el objeto empleado. Esto en realidad pasa la ejecución del programa al objeto empleado. Y así el constructor y los objetos empleados pueden ejecutar lo que se hace. Se va a devolver el control de ejecución a los usos principales del programa, empezar como volver atrás, así que solo devuelve la información. Entonces sabemos que el programa principal que va a mostrar la información del programa por lo que
va a ser un mensaje privado interno y va a ser mostrar información del programa. Y luego ellos una vez que muestre la información del programa, se va a obtener la información de pago. Otro mensaje privado interno entre sí en el programa principal va a decir, Obtener información de pago ya que obtiene esa información de pago y ha ascendido de nuevo. Tiene que luego enviarlo al objeto empleado. Por lo que vamos a enviar otro mensaje del programa principal hacia el objeto empleado. Ponga el nombre que se notan aquí abajo. No nos preocupa en absoluto cómo se estaban haciendo estas cosas. Simplemente nos preocupa lo que se está haciendo. Nos preocupan los detalles más adelante, cuando nos metemos en el diseño y en la programación. Una vez que establece su nombre, devuelve el control de nuevo porque,
recuerda, nombre
establecido, nombre
establecido, en realidad peca el control sobre el objeto patronal. El objeto empleado va a procesar ese nombre a medida que entra. Eso dice, luego devolvió esa información. Después vamos a volver a fijar las horas trabajadas. Esto va a poner la información en el objeto de empleo. Se va a hacer algún procesamiento para validarlo una vez que
se haga ese procesamiento en el objeto de empleo , va a devolver el control al programa principal. El programa principal entonces va a fijar entonces la tasa de pago. Y de nuevo, estás te darás cuenta del patrón que va aquí. Nos pusimos, regresamos, nos sentamos, regresamos giros controlamos ahora una vez. Eso es Ah, se han fijado las horas el nombre, las horas de trabajo y la tarifa de pago. Podríamos entonces obtener esa información de pago. Por lo que necesitamos enviar un mensaje al empleado dice, obtener información de pago. Ahora aquí el empleado tiene que recoger esa información, y también tiene que calcular el crecimiento, pagar esas operaciones aéreas internas al objeto empleado. Entonces se va a calcular la paga bruta. Entonces enviará esa información de vuelta a Y eso es una especie de poner esto en la siguiente línea
aquí arriba que va a devolver esa información de pago al método principal, y el método principal luego mostrará la información de pago y en nuestro programa lo que vamos a hacer, entonces
terminaremos la información o el programa en ese punto terminará la aplicación. Pero llamamos a un programa de terminación. Asegúrese de que congruentes con el diagrama UML. Entonces así es como se toma la descripción del sistema y se fusiona con destrucción. Lo que hemos hecho aquí, si hemos creado el comportamiento para el curso normal de los eventos de un empleado de nómina en información de
pago verde en esa información que se está mostrando. Entonces ahora que hemos creado el diagrama de clases, que nos muestra la estructura de nuestro programa, hemos creado el diagrama de secuencia que básicamente muestra cómo se va a comportar el programa tiempo, donde 2/3 del camino de a través del proceso de análisis y diseño la última pieza del rompecabezas es identificar el algoritmo específico para funciones de las operaciones. De lo contrario, cuando fijemos las horas, ¿qué va a pasar cuando obtengamos la información de pago y calculemos que las chicas pagan cómo
realmente podemos hacer esos procesos en la siguiente lección? Lo que vamos a ver es en cómo entonces especificamos el procesamiento para cada una de estas funciones? Y una vez que hemos hecho eso, hemos completado nuestro análisis. Hemos completado nuestro diseño y estamos listos para empezar a programar
9. Crea algia de código: bienvenido a la siguiente lección de programación orientada a objetos. Modelado funcional. Este es en realidad el último paso de análisis y diseño que vamos a hacer antes de empezar revestir y llamamos donde estábamos cuando empezamos por primera vez. Estábamos muy difusos en lo que queríamos hacer con nuestro programa. Y luego hicimos nuestros diagramas de clase o análisis médico para crear nuestro stock de clase. Y te pusiste un poco más en foco. Miramos los modelos conductuales, ponernos un poco más en foco. Pero ahora lo que vamos a hacer ahora, vamos a ver el procesamiento funcional, empezar a escribir básicamente pseudo código para nuestras funciones Ahora, entonces, en ese punto aquí estaría listo para empezar a programar. Entonces a este punto, nuestro análisis hemos creado una descripción del sistema que describe un nivel muy alto de lo se supone que debe hacer
la aplicación A partir de esa descripción del sistema, estacionamos los objetos que necesitamos junto con los objetos atributos en operaciones. Se documentó la instrucción de aplicaciones DZ unificado modelado diagrama de clase de lenguaje. Y luego vincularíamos esa descripción del sistema y el diagrama de tiempo de clase juntos para crear el modelo de comportamiento para los diagramas de secuencia ahora Lo que queremos poder hacer es ahora
queremos empezar a mirar el procesamiento de detalle hasta este punto. Sólo hemos estado mirando lo que nuestro sistema está haciendo. No nos han hecho preocupados sin que las operaciones van a funcionar. Eso es lo que vamos a hacer a continuación. Ese último modelo antes de la programación se llama la Función del Modelo. Aquí es donde ahora miramos las operaciones individuales y para determinar el
procesamiento detallado de esos algoritmos. Una vez que hayamos completado, estos algoritmos estarán listos para comenzar a programar como nota al margen. Mi experiencia me muestra que este paso que más hace desde los programadores y en realidad este es el paso al que muchos programadores saltan directamente sin hacerlo ahí. Ahora, el otro análisis y diseño. Eso se debe a que estamos viendo detalles más concretos, que son mucho menos difusos que los otros ítems de análisis iban a crear las
especificaciones del método mirando el diagrama de clase y luego uno por uno, vamos a ver cada una de las operaciones enumeradas en las clases y crear unas especificaciones de método para esas operaciones. Donde vamos a necesitar poder hacer es que necesitamos asegurarnos de proporcionar un
análisis muy detallado para la descripción de su operación. Y esto se remonta a la afirmación de que si no puedes describirlo, no
puedes construirlo. Entonces debes asegurarte de que podrías tener, ah, buen resumen corto de lo que se supone que debe hacer esa operación si aún no
lo hemos encontrado , que los datos que va a recibir la operación para pasar mensajes ida y vuelta. Entonces para esta operación trabajo del dedo del pie, ¿necesita datos de otro objeto, los datos que las operaciones van a devolver, que la operación va a hacer algún procesamiento sobre los datos y el objeto que va a tomar los resultados que procesarlo está en la parte de atrás. Es necesario identificar qué es eso. Entonces vas a necesitar identificar el algoritmo específico, que es la receta, donde hace lo que a menudo se llama pseudo código que define al procesamiento. Ahora, una cosa que no hicimos en nuestros diagramas de clase no pusimos en getters y
centros de clase . Ten en cuenta que no enumeramos esos porque podrías tener tantos de humor solo estropear tus diagramas de
clase pero tenemos que asumir que va a haber por cada atributos son muy . Pero ponemos en las clases. Va a haber un centro de obtención ahora en el mundo real, va a
haber excepciones a esto. Pero para nuestros propósitos, por cada variable privada que vamos a crear, vamos a crear juntos y centrarnos en. Y cuando hacemos eso, estos aire básicamente sólo método especializado que van a necesitar algoritmo
centros especificados en particular requerían algoritmos detallados porque es a través de los centros que vamos a asegurar todos nuestros objetos variables siempre iban a estar en el estado válido . ¿ Con qué tenemos que trabajar para crear las especificaciones detalladas del algoritmo? Tenemos la descripción de sistemas, lo que llevó al diagrama cruzado UML, que luego condujo al diagrama de secuencia. Ahora lo que queremos hacer es tomar esos dos y fusionarlos para crear los
algoritmos de detalle para cada uno de los métodos individuales, consiguiendo crear especificaciones del método mirando el diagrama de clase UML, y vamos a ir tomar cada una de las clases y cada uno de los métodos individuales uno por uno y crear especificaciones de métodos para él, ejemplo, aquí vamos a empezar con el método principal, y desde luego no te voy a mostrar cada uno de ellos uno de ellos, usando métodos, especificaciones, plantilla que se proporciona miramos a cada uno ahí. Los métodos uno por uno. Entonces, empecemos con el principal. Sí, tenemos el método principal. Especificar la clase. Está en otra vez. Se trata de la transpiración recta del diagrama de clase de diagrama UML. Brindamos una descripción nuevamente. Si no puede proporcionar uno o dos cortos quería sentarse descripción puede no entenderlo lo suficiente. Y así puede que quieras pensarlo hasta que hagas este caso aquí. Es el punto de entrada para el programa y controla la ejecución de alto nivel. El programa? ¿ Qué desencadena esto? Es el programa. Ha comenzado la ejecución. No necesitamos ningún dato para este programa y no se devuelve ningún dato dentro de las especificaciones. Vamos a volver al diagrama de secuencia, y vamos a traducir el diagrama de secuencia en pseudo código. Por ejemplo, vemos desde el diagrama de secuencia que vamos a crear objeto empleados. Vamos a mostrar la información del programa. Vamos a obtener la información de pago. Vamos a mostrar la información de pago, y luego vamos a terminar el programa. Entonces lo que vamos a encontrar es que cuando entonces vamos a construir esto y programar y
vamos a usar esto como el plano para crear esto, crear el método y eso es lo que estará empezando en la siguiente esencia varias. Bajamos al siguiente y obtenemos información de pago. Vale, eso Así que, uh, vamos a conseguir la información de pago estos poquito fuera de servicio. Pero eso está bien. Por lo que conseguimos obtener información de pago, hicimos descripción de clase de empleados, proporciona entrada solicitada al empleado de nómina, recupera la información y establece la información en el objeto empleado. Se desencadena por la ejecución principal del programa. No necesita ningún trabajo de datos del dedo del pie. No es devolver los datos. Y luego aquí están nuestras especificaciones de algoritmos. Vamos a avisar al usuario. Entonces vamos a pedir el nombre. Vamos a conseguir el nombre, y luego ponemos a un empleado, y luego hacemos lo mismo para la cena pronta de tasa de pago. El tipo de pago, obtenemos la tasa de pago, lo
configuramos de nuevo. Aviso Aquí abajo, solo
estamos usando declaraciones de inglés como. Esto no es código de programación. Simplemente nos da un plano nos permite elaborar la lógica cuando vamos a Cub, así que sigo de nuevo este proceso. Aquí está la información de programación de pantalla un programa de terminar
de nuevo, lo mismo. Puesto esto esto para que puedas descargarlo y echarle un vistazo. Calcula el pago bruto. Aquí hay uno diferente. Se invoca al calcular la paga bruta, dado que las horas trabajadas y la tasa de pago se han poblado, se invoca por el dolor o obtener información de pago meth en la clase y es de los algoritmos. Bastante simple otra vez. Nosotros ¿Ves cómo funcionaba? Realmente no necesita recibir ningún dato porque va a estar usando las horas trabajando para pagar tarifa que ya está almacenada en el objeto empleado. Y no va a devolver ningún dato tampoco lo es. En realidad, ¿sabes qué? Eso es un cambio va a devolver un doble, y va a ser que va a ser exhibición. Y en realidad esto sería pago por crecimiento. Y sólo voy a decir que esto en realidad sólo va a ser vuelta y ya ves cómo eso
se va a implementar más tarde y otra vez, nota aquí abajo. Descontinuamos esa información a medida que avanzamos Ahora. Hablamos de los centros específicamente con toda la idea detrás de la ocultación de datos es
asegurarnos de que solo establecemos valores válidos a las variables internas que puedan mantener un
estado válido para el objeto todo el tiempo. Por lo que el nombre conjunto, por ejemplo, va a determinar que el valor de entrada está vacío. Esto viene de la descripción del sistema, entonces tenemos los nombres que se van a establecer. De lo contrario, necesitamos establecerlo en algún valor predeterminado. Entonces el algoritmo para ese centro va a parecer si no es un valor vacío, y lo que sea que se pase es que lo vamos a poner al nombre. No lo es. Vamos a enviarlo a algún defecto puede comenzar. No estamos demasiado preocupados por los detalles aquí, pero y luego lo vamos a refinar más adelante. Sólo estamos mirando la lógica general, pero aquí hay una para la tasa de pago establecida. Es C Center for Pay Rate, y nos dimos cuenta de la descripción del sistema que dice, si los valores de entrada entre cero y 75 eso es válido. Si no lo es, necesitamos establecerlo en algún otro valor. Entonces subimos a si la tasa patronal es mayor y 10.5 en su menor de 75. Vamos a tomar cualquier valor que la ISS, y vamos a ponerlo. Pero si tenemos un valor que es menor y 10.5 dicen, por ejemplo, alguien en su cero o negativo cinco o cinco, entonces simplemente lo vamos a mandar al salario mínimo. Si el alguien ahí dentro es algo más grande que 75 lo vamos a restablecer de nuevo a 75 y hacemos el mismo tipo básico de lógica para la hora para y luego simplemente seguimos de esa manera hasta que tengamos todos los métodos significativos en nuestro diagrama pasado creó lo que entonces vamos a tratar, que demostraré en los Knicks en la siguiente lección paso. Si lo estamos ahora, vamos a usar estos, en realidad, entonces convertirnos en nuestro plan. Dónde están el procesamiento comenzaría a codificar, que es el tema de la siguiente lección. Entonces recuerda dónde empezamos. Empezamos con la descripción del sistema, y fue muy borroso cuando empezó básicamente delgado a través de una serie de refinamientos . Nos fijamos en el modelo estructural, se voltearon módulo de comportamiento diagrama de clase al diagrama de secuencia y el funcional modelado ahora y ahora que hemos pasado, empezamos primero. Ahora tenemos una comprensión muy clara de lo que necesitamos dio y que creen que es entonces cuando dejamos el modelo de funciones. Ahora lo que vamos a poder hacer es que vamos a ser capaces de tomar eso. Toda esa información que tenemos y luego entramos en la implementación y en realidad iniciamos programa .
10. Consulta los conceptos: antes de hablar de implementación, hablemos de algunos de los conceptos clave desde el análisis y el diseño que necesitamos entonces
implementar dentro de nuestros programas. Ahora, una de las cosas que quiero dio destacar es que en un proceso ideal de desarrollo de software, se pasa por una fase de planeación de quire ments. Ahora es un diseño de fase y codificación, y se le ocurre algún plan opcional o algún plan ideal, abolladura y nota aquí abajo que el tiempo que pasa en estos aire es bastante igual, probablemente van a cambiar un poco y en la práctica. Pero sin embargo lo que hacen muchos desarrolladores, van por la planificación,
análisis y diseño de cortocircuitos y tratan de entrar a Cody y lo más rápido posible. Hay muchas razones presiones para hacer esto. Pero, ¿qué pasa en es que eso? Una vez que están metidos en el proceso de codificación, tienen que tomar muchas decisiones con respeto, requisitos, diseño y knock. Entonces también preocúpate por los detalles de implementación de la codificación, y así básicamente están haciendo tres cosas difíciles a la vez, y necesitamos en cualquier momento que hagas eso, normalmente
estás apresurado y vas a cometer errores. Entonces eso significa cuando te metes en las pruebas. Vas a un básicamente ampliar tu proceso de pruebas. Y en realidad, en realidad
lo
estás, va a ser mucho más largo de lo que realmente planeaste. Ahora de nuevo, lo que estudiantes e incluso algún desarrollador profesional me parece que saltaron directamente en la codificación. De lo contrario, intentan hacer todo el análisis de planeación diseñado mientras están codificando. Y lo que pasó cuando haces esto, te metes en esto. ¿ Qué? Este edificio modo fijo de desarrollo, Construyes tu prueba que encuentras una solución de área después de que necesitan hacer es a más y te metes en este bucle infinito. Y así la idea es que quieres diseñar dos veces construido una vez que en realidad te va a salvar. tiempo y la mejora de la calidad que no se llega a la parte de recubrimiento es rápido, pero sin duda el largo plazo. Vas a terminar con unas aplicaciones de mayor calidad Ahora. Dicho esto, si quieres que maximicemos la cantidad de tiempo de codificación, si realmente te gusta el recubrimiento para saltarlo, ve directamente a Cody. No es que no puedas construir un buen programa solo saltando a la codificación, pero el riesgo es mucho mayor ahora. Estos conceptos básicos de los que queremos hablar son esenciales para poder crear un programa
óptico. Hablamos de él análisis. Hablamos de diseño ahora necesitamos implementarlo ahora. Lo primero que quiero hacer es implementar la ocultación de datos, y lo vamos a hacer con los modificadores de acceso, los modificadores de acceso que vamos a usar que podemos implementar. En cada lenguaje de programación que he visto usos, estos son privados y que ese es un miembro privado que podría ser una variable o constante o ah, método sólo es accesible en el propio objeto de clase. Los miembros públicos son miembros accesibles a objetos externos. Por lo que necesitamos asegurarnos es cuando creamos nuestros objetos y sus miembros que
los identificamos con el modificador de acceso apropiado. Entonces vamos a usar getters y centros. Teoh accede a las variables privadas. Los centros de puerta son entonces modificar el valor de la variable, y va a contener lógica para validar las entradas que asegura que son variables dentro nuestros objetos. Todos tienen un estado válido y getters que vamos a usar para que esos obtengan el valor de una variable
privada a un objeto externo. Ahora bien, un constructor significa recordado significa la construcción o directa. Ahora uno recordamos que una clase es un plano para un objeto, y los objetos deben estar en Stan ella odiaba Este es un término que se puede escuchar una y otra vez como se hace cualquier tipo de lectura e investigación. Por ejemplo, en nuestros empleados se oponen. Esta es la clase. Esto no es un objeto. Ahora, podríamos trabajar con elementos de esto de qué hablar en un segundo aquí, Pero sobre todo vamos a trabajar. Desean trabajar con objetos de tipo empleados. Entonces eso significa lo que tenemos que hacer entonces, dentro de nuestro programa, por cada nuevo objeto o empleo que
tengamos, queremos crear un nuevo empleado. Entonces si tenemos 100 empleados iban a crear 100 nuevos empleados objetos y entonces
vamos a trabajar nuestro código entonces va a trabajar en cada objeto individual con la fecha del contenido. Por lo que estos Aaron Stan sombrearon objetos y luego están en Stan sombreados de la clase y que como estos objetos en nuestro do construido construido está en base a lo que ustedes los grammas gal que ponen en el constructor. Ahora sí tenemos algo llamado miembros compartidos miembros compartidos recuerdan nuestro compartido por todos los objetos de la misma clase. Y se podían acceder sin en Santee y objetos, por ejemplo, en el ejemplo estaban usando tenemos el nombre predeterminado de Dios en tasa estos aire Constance. Y típicamente no necesitas copias para cada uno de estos objetos. Básicamente comparten todos esos valores. Entonces vamos a hacer estos objetos compartidos o estáticos, y te mostraremos cómo luego puedes acceder a esos sin crear realmente objetos de la clase. ¿ Verdad? Por lo que en la próxima serie de videos, vamos a demostrar el edificio probado poco enfoque para construir óptica en programa. Todo lo que hemos hecho hasta ahora está en preparación para crear programa de igualdad. Ahora, si sigues cada video y comienzas programa de cranio, usa un edificio. El pequeño testículo estrategia. Creo que estás encontrando vas a poder construir tu programa con funcionalidad al final con un programa de calidad
11. Determina la estrategia de implementación: y los fondos preparándose para comenzar. No vamos a tomar nuestro diseño que creamos, y en realidad vamos a construirlo. No obstante, lo que quiero hablar es de que se quiere tener algún tipo de estrategia. Cuando entras en programa, simplemente no quieres hacer un enfoque de tipo ser grande para empezar a construir cosas. Se quiere tener algún tipo de estrategia, y luego esto. Te voy a mostrar la estrategia que me gusta usar. Puedes crear la tuya propia, pero puedes crear tu propia estrategia. Eso está bien. Pero una de las cosas que quieres asegurarte de que haces es asegurarte de que tendrías una estrategia entrando. Simplemente no quiero hacer ese enfoque tipo big bang. ¿ De acuerdo? De lo primero de lo que voy a hablar es que vas a querer tener una guía de estilo, acuerdo? Básicamente, lo que quieres esforzarte es lo que se llama código autodocumentante. De acuerdo, Ahora alguien incluido tú puede leer tu código y entender el programa sin ningún tipo de documentación, lo que eso significa. Sabes que vas a crear tu código, y por ejemplo, dentro de
seis meses vas a volver a él, y vas a querer poder entender lo que hiciste. Alguien más va a querer leerte código. Van a querer poder entender lo que has hecho, y quieren poder hacer sin tener que ir otras dos
documentaciones externas . Entonces aquí hay algunas cosas que podemos hacer. Teoh te ayuda crea a sí mismo. Documento comentarios eco ayuda, pero no suficiente para programa completo de autodocumentación. Correcto. Tener una convención de nomenclatura para todos sus miembros. Está bien. Usé la siguiente convención de nomenclatura. Cuando vuelvo a crear mis programas, la convención que usas, es importante que sólo tener una convención. De acuerdo, Entonces, por ejemplo, el estándar que usé y típicamente lo que vas a verlo. La mayoría de los desarrolladores agonías titulado Caso para nombres de clase como Employee notaron ahí abajo que el nombre de los empleados es mayúscula. Al ver que sabemos que los objetos aire sustantivo y anunciado normalmente capitalizan. Eso tiene sentido. Está bien. Los miembros de la clase usan lo que llaman caso de camello. El caso de camello significa que vas a unir palabras sin ningún espacio. Y la primera palabra en el en el identificador va a ser una minúscula y luego
palabras posteriores después de eso otra vez, No hay casos que van a estar con ve. De acuerdo, aquí es donde la primera de nuevo las primeras letras. En minúsculas, y luego cada personaje después se mayúscula. Muy bien, sé descriptivo a nombre de miembro. Entonces tú y tu lector claro ¿Y qué hacen los miembros? Por ejemplo, estamos en el programa de empleados. Estamos usando horas de trabajo. Ese es un buen nombre que nos dice exactamente lo que le dijo la variable. Son las horas de trabajo a los empleados, pero se podría decir horas. Está bien, eso está bien, pero no es del todo explícito. Eso no está tan claro. Y es mucho mejor de lo que h vino. Y luego también, si bien la codificación no es la intención de sangrar el espacio vertical para ilustrar la estructura del código, vamos a empezar a poner en estructuras de control y cosas así. Y esa sangría en el espacio en blanco es muy valiosa para importante también en sí mismo
Código de documento . Ahora, la buena noticia realmente sobre esto es que la mayoría de los entornos de desarrollo integrados tienen
herramientas automáticas que te van a ayudar con tu estructura de código y cómo usarlos, y los discutiremos a medida que entramos en la implementación. Ahora, lo que voy a sugerir de nuevo es otra vez. No quieres construir disco tu programa. Todo programador que conozco tiene algún tipo de estrategia lógica que usan construyendo tu programa. Simplemente no van a construir el sistema. Construyen programas en pequeños trozos
lógicos y los integran juntos para conseguir un sistema de trabajo. De acuerdo, así que básicamente, lo que voy a mostrar es que tú, uh quieres construir tu programa y pequeños trozos
lógicos de funcionalidad y no quieres ir al siguiente bloque hasta que el bloque
actual sea no realmente sintaxis libre de aire, pero libre de aires lógicos. Entonces, cada vez que avanzas hacia adelante, estás construyendo sobre una base sólida de componentes. Una vez fuera, Block ha creado mover el siguiente bloque lógico y solo repite este
proceso de programación hasta que termine. Por ejemplo, el que voy a decir recto otra vez puedes crear truco. Eres tu propio. Pero solo debes tener una estrategia. Por ejemplo, voy a crear un proyecto vacío. Simplemente crea esto. Asegúrese de que el proyecto vacío todas las bibliotecas aire hecho, todo está construido, todo está integrado, vinculado incorrectamente antes de que comience. Nuestro antes incluso crear la primera clase principal, y voy a seguir adelante y crear la clase principal. Y dentro de la clase principal, siempre
vas a tener un método de mucama. Método principal, um, nuevo va a ser el punto de entrada a tu aplicación, y básicamente va a ser la principal unidad de control para tus aplicaciones. Entonces voy a construir eso dentro de la clase principal justo al bate, y voy a asegurarme de que va a hacer show. En ese punto, voy a construir eso, ejecutar el proyecto, y aquí podríamos incluso ver un programa de trabajo. Puse algún estado de salida ficticio. Muy bien, entonces realmente no empiezo a construir los diagramas de secuencia de diagramas de clases reales hasta que sepa que tengo un shell de trabajo de un programa. Entonces lo que voy a hacer es entrar y crear modificar el método de sobrecarga de la aplicación . Cada aplicación en la que he trabajado va a tener algunas cosas generales. Por ejemplo, lo que estamos haciendo es que estamos usando la información de la aplicación de visualización, y tenemos un método de terminar programa programa. Y así voy a ir a construir esos fuera, y lo voy a integrar a la clase principal, y voy a trabajar en eso hasta que eso funcione. Ahora, en este punto aquí, entonces tener un shell de programa de trabajo sobre programa. El método principal funciona. Tengo mis métodos generales completados. Podría probarlo. Y ahora, una vez que tengo eso, tengo una buena base para empezar a construir sobre mis clases un objeto. Por lo que empiezo a crear de nuevo el show de clases. Vas a querer tener algún tipo de estrategia Y qué clases vas a construir primero en nuestro programa. Va de manera justa, ya que sólo tenemos uno o dos. Pero entonces voy a construir esa clase y construyo el caparazón. No le pongo nada excepto las variables. Está bien. Y entonces básicamente voy adelante pruebas que aseguran que funcione dentro. Yo integré al método principal. Una vez que
sea, es que las clases en el mayor que el método principal, subiré,
y luego empezaremos a crear centros getters para la variable, y luego integro esos prueban esos al método principal, asegurarme de que funcionen, y me mantengo en este bucle hasta que sepa que podría recuperar y establecer datos dentro de mis objetos. Y una vez que tenga eso no, uh, tome cada método individualmente, trabaje en ello, asegúrese de que funcione. Integró el programa principal. Basta con soportar este bucle hasta que ese método funcione. Y luego simplemente sigo con el método. Y luego una vez hecho eso, voy a la siguiente clase y sigo adelante, integro eso en otra vez. Este es el tipo de estrategia que voy a demostrar en los próximos videos de pareja, ¿de acuerdo? Y al hacer eso, también
quieres asegurarte de que utilices las herramientas y el mayor desarrollo. La violencia tiene un montón de herramientas. Eso va a hacer que el programa sea más cheesier. Tienen una herramienta llamada Intel un sentido. De acuerdo, esto va a ayudar. Podrás recordar nombres de identificadores, orgullosos y lista de parámetros. Y lo único que señalo, si un método variable no aparece en el Telus en algo está mal parando, arreglando compiladores vas a tener todo tipo de herramientas de formateo que te
van a permitir hacer horizontal automática espaciado vertical diciendo para que no necesariamente tengas que pensar en todas las pestañas. Es basing toe configurado para ti automáticamente cuando las herramientas más importantes es el
compilador en tiempo real . Ahora, una de las cosas más difíciles, particularmente si apenas estás empezando a programar, es conseguir que esta sintaxis sea correcta. Ahora el compilador en tiempo real comprobará esa sintaxis. Hacer Aziz. Lo escribes para asegurarte de que sea correcto. Está bien. A medida que escribes en cada línea de código como terminó esa línea, no te muevas a la siguiente línea de código hasta que la línea en la que estás trabajando su libre de sintaxis se
emita . Ese tipo de significa que puede que tengas que parar y mirar y hacer algunas investigaciones sobre Ve más lento. Pero lo que no quieres que suceda es no dejes que se acumulen errores en esa ventana de problemas. Si esos errores de sintaxis se acumulan, vas a llegar a un punto en el que también puedes empezar de nuevo. Tienes 30 40 errores y ellos clase de 100 líneas de código. Eso es todo 100. Y puede que tan bien simplemente empiece a construir una clase otra vez. Por lo tanto, no dejes que esos errores se acumulen en la ventana de problemas. El otro es Vas a tener un Ah integrado, el desarrollo es todo tener los buggers. El buggers es que el compilador busca errores de sintaxis. De lo contrario, las cosas que van a hacer que tus errores de programa eviten que tu programa compila y ejecuta un bugger entonces te permite buscar lógica aires er de lógica son tu programa está funcionando, pero tienes un error en tu agua ellos solo dándote, ah, resultados
inválidos. Por lo que el cabrón te miente para pasar por tu programa línea por línea, visto variable de valor. Mira cómo el programa controlaba se mueve desde objeto objeto y podrías usar para encontrar programa . Y lo usas para encontrar errores de lógica de programación. Y no sólo eso, es fácil. Buena herramienta educativa porque podía hacer el paso a paso, el cabrón. Y se puede ver cómo se pasa el control del objeto objeto y cómo los valores del aire cambiaron. Está bien, así que la próxima serie de videos va a demostrar que Bill pequeño testículo se acerca todo de nuevo. Todo lo que hemos hecho hasta ahora está en preparación para crear un programa de calidad. De acuerdo, Ahora, si seguiste videos, uh, el programa creador usando este enfoque de pequeño testículo de factura, creo que vas a encontrar programación en un reembolso. Pero va a ser que tú también tengas más éxito
12. Configuración del entorno de programación: Aquí es donde realmente comienza la diversión. Vamos a empezar a codificar. Qué, como ustedes llaman a lo que hemos hecho es que pasamos mucho tiempo con estos creando estos
diagramas de clase . Este diagrama de clase en los diagramas de secuencia van a ser tu blueprint principal para crear programas. Lo que queremos hacer en recubrimiento es que queremos traducir esta tarea que este diagrama de clase
así como un diagrama de secuencia y ese va a ser nuestro proyecto para luego seguir adelante y crear nuestro programa. Recuerda, cuando ponemos nuestro kratom creado estos diagramas de clase, todos los símbolos tienen significado. Por ejemplo, lo que nos interesa ahora es el signo menos básicamente significa que es un oculto. Y así vamos a tener que usar privado nosotros cualquier cosa que sea plus va a ser un público. Tenemos nuestros empleados de nombre de clase aquí. Si tenemos un método que se llama es el mismo que una clase que es el constructor. Está bien. Y como recuerdan, lo que vamos a hacer entonces es usar ese enfoque poco comprobable de construcción. Por ejemplo, en este video, vamos a crear el proyecto vacío, genial la clase principal y crear modificar el principal y Vamos a asegurarnos de que tengamos un ambiente de
trabajo antes de empezar a construirlo. Bueno, déjame seguir adelante y configurar esa llamada de espejo. Mi herramienta de elección va a ser comunidad de estudio visual descarga gratuita, y voy a estar en proyecto C Sharp. Entonces lo primero que quiero hacer es que quiero crear un nuevo proyecto. En este caso, voy a crear una aplicación de consola usando C sharp click. A continuación, asegúrate de que ah, guarda donde quieras guardarlo. De lo contrario esto podría ocultarte. Yo voy a, por ejemplo. Sólo voy a decir esto en la carpeta de descargas. Es Es Es un archivo temporal para mí. Voy a darle un nombre. ¿ Una calculadora? Se trajo la versión uno porque voy a crear las diferentes versiones para demostrar cosa. Creación rápida. De acuerdo, Así que te diste cuenta de lo que surge. Te das cuenta de que visual studio y otros idiomas harán esto también. No sólo Ahí está nuestro aviso de estudio visual. Se creó el programa para mí automáticamente. Ya ha creado mi función principal que ya ha sacado una declaración. Y pero si volvemos atrás y miramos nuestro para ser correctos. Básicamente queríamos aquí nuestra clase principal. Lo llaman Semana del Programa. ¿ Quieres llamarlo yo? Empleados principales. Yo quiero volver a cambiar eso. Esto es usando las herramientas que quiero cambiar el nombre de eso también. Empleados principales no pueden ver detrás de sus ganchos. ¿ Eso deletrea, verdad? Y luego quiero decir OK, vamos. ¿ Algún comentario? Hacer el cambio, Nombre. Haga clic, aplique. Y así ahora no tengo notas aquí abajo, el nombre del archivo es diferente. Entonces nosotros cuando en realidad Bobby cambió el nombre del archivo también? No. Algunos lenguajes como Java. Asegúrese de que el nombre de archivo el nombre de la clase y exactamente igual. No es cierto en C. Sharp. Correcto. Entonces ahora básicamente entonces he hecho esto. Yo he hecho esta primera parte. Ahora sigamos adelante y asegurémonos de que funcione. Entonces, ¿qué? Es construirlo. Yo estoy ampliando esto para que puedas ver un poco mejor, así que estoy construirlo juego de solución. Y aquí está la construcción de salida. Sucedió aquí abajo un aviso aquí abajo si quieres. Teoh, mira, asegúrate de que veas que aparezcan tus problemas. Asegúrese de que tiene su lista de errores mostrada. Entonces, por ejemplo, lo haría No se muestra por defecto. Quiero que se muestre mi lista aérea por ahí. Aquí está mi lista aérea. Y entonces, ¿qué va a aparecer? Y así es como se ve el compilador en tiempo real. Así que adelante y teclee en mí mismo. Por lo que nota aquí abajo. Si elimino, eso es como al aviso de consola. Esa es la esencia de inteligencia. De acuerdo, yo así que no tengo que teclearlo en realidad ahora. Golpeé a Tab y se llena de auto. Quiero una línea correcta en los de ahí abajo. Se mira hacia adelante. Hago el que quiero seleccionar al mundo y noté abajo ahí es que miramos esto. Ese poco garabato ahí está el tiempo real. Ven, palacios. Hola ahí. Aquí abajo. Necesitas un semi colon. Semi colon. Correcto. Entonces ahora aquí está la ventana de salida otra vez. Adelante y construyámoslo. Construir tuvo éxito. De acuerdo, ahora podría seguir adelante y ejecutarlo. Entonces voy y ejecuto en este punto, y luego veo un pop up. De acuerdo, Entonces lo que esto significa es que ahora tengo un ambiente de trabajo. Podría entonces expandirme y empezamos a ver cómo luego traducimos el resto del diagrama de
clase al
13. Crea una pequeña prueba poco un poco: De acuerdo, demos el siguiente paso en la construcción de nuestro programa. Recuerda lo que hemos hecho hasta ahora. Hemos tomado el proyecto vacío creador. Hicimos una redada a la clase principal. Nos hemos quedado método trabajando. Ahora, el siguiente paso es ah, nuevo, en el proceso que estoy usando, voy a crear los métodos de sobrecarga para asegurarme de que tengo programa de trabajo. De acuerdo, Entonces si miro mi diagrama de clase ¿qué es eso? Eso significa que es el programa de visualización. Información y la pantalla Terminar programa notado aquí abajo, estos aire que se alistaron están subrayados, lo que significa que son objetos compartidos. De acuerdo, entonces somos método compartido. Lo siento. Está bien. Entonces sigamos adelante y construyamos eso. OK, así que ahora recordamos en y Y esto es cierto de cada objeto o lenguaje es que aquí está la clase. Todo lo que definimos tiene que ser definido dentro de esa clase y notar aquí abajo. Las herramientas de inteligencia básicamente muestran. De acuerdo, espera un minuto. Este es el fin de la clase principal. Y así dar click en esos. Siempre te mostraría de nuevo los descansos coincidentes. D cosa específica. Y no quieres cubrir eso ahora. Tan solo asegúrate de aprender a corregir. Entonces por aquí dice que queremos mostrar la información del programa. Por lo que ahora necesitamos crearlo. Y por aquí dice que es privado. El subrayado significa que es estático. De acuerdo, así que voy a tener que aclarar eso, igual que es. Entonces va a ser privado en la nariz ahí abajo y decirle que aparece un sentido. Podrías o bien escribirlo o si golpeo el espacio o las tabletas, muy. En este punto, lo llena. Aviso allá abajo. Azul significa que es un GTO. Observar palabra y verde significa que es una Significa que es una clase. De acuerdo, entonces tengo un privado que voy a declarar. Esto es estático. No estoy devolviendo ningún valor. Yo sí noté ahí abajo. Podría decir por la pantalla que no devuelve un valor previo aviso. Aquí abajo, estos fueron valores volteados. Por lo que declaro que esto es nulo. La mayoría de los lenguajes de programación usarán la misma sintaxis y luego escribo y mostraré información
del programa. Esos están apagados. Ahora que tengo la firma de método declarada, voy a volver a mis especificaciones de ritmo para los algoritmos reales y código que voy a proporcionar dentro de esa función que notan en las especificaciones de procesamiento para el display información del programa Display Un prompt donde vamos a dar la bienvenida al programa de
calculadora de pago que vamos a pedir. Dice que calcula para pagar por un empleado, empleados
internados, y va a dar indicaciones. El nombre del empleado pasante Nuestro trabajó en tasa salarial, y luego se va a calcular el pago de las niñas se mostrará. Propósito. Simplemente voy a seguir adelante y cortar pegar el código que tengo y esto va más grande por si
se nota aquí abajo. Dice constructor de cuerdas. Este es un espectáculo de posibles correcciones. De acuerdo, ahora, este es uno de esos casos Quieres asegurarte de que,
uh, uh, corrijas. hay antes de que vayas por esto también es donde va a entrar el poder de tu i d. Entonces, por ejemplo, nuevamente mostrar posibles correcciones para este aire. Podría decir que es un cercano, todas líneas garabateadas. Si hago una lista de su lista, usted podría, uh, yo la veo. Perdón por el tamaño pequeño, pero correcto. Entonces lo que haces, vas a nuestro show Correcciones potenciales. Y dice usar texto del sistema vino Esto básicamente entonces va a importar esa biblioteca en
selecciono ese aviso ahí abajo. Gire verde. Eso significa que lo reconoce. Y fíjate aquí abajo, es
Está ligado esto a la parte superior. Comienza los otros entornos de programación modernos Haz lo mismo. Proporcionar esas correcciones para U S O. Cuídate de eso. O asegúrate de aprender a usar esos entornos de nuevo. Ahora que tengo esto. De acuerdo, yo creé esto. ¿ Quiero ir al siguiente, o quiero mirar éste primero? Bueno, veamos esto primero, ¿de acuerdo? Podemos seguir adelante y filtrar eso. Ya no necesitamos eso, porque tenemos nuestro entorno. Ahora, quiero invocar esta información de visualización desde este método. Entonces exhibe y observa ahí abajo que la inteligencia aparece. De acuerdo, así que ahora, una vez sigamos adelante y miremos eso otra vez. Tipo de pantalla desde principio aviso de visualización Abajo aquí
, mira hacia adelante. Al hacer clic en él se muestra información. Entonces ahora en este punto aquí, lo
tengo. Puedo seguir adelante y construirlo. Yo no eso va a construir automáticamente en cualquier momento que corredora, por cierto, lo preconstruyó. Pero eso es genial. Y construir una solución construida comenzó ahora podía ir y ejecutar, y obtengo mi,
uh, uh, mensaje de
pantalla. De acuerdo, entonces esa parte funciona. Vale, Ahora, miro aquí dice, ahora terminemos la información del programa. Ahora, voy a seguir adelante, poner en avisos privados ahí otra vez. Es privado. Se podría decir por su privado por el menos frente al identificador en el diagrama de clase . Entonces es privado. Tiene que ser estático. No va a convertir ningún valor. Y el nombre es terminar programa saliendo rápido abrir y cerrarlo. Y otra vez, a estas alturas de aquí, no
voy a hacer que me miren tipo de código. es bastante doloroso, y voy a ir a escribir eso, y no creo que creo que necesito éste ahora. Entonces ahora lo tengo. Correcto. Entonces ahora consigo que no tengo listas de errores, ¿
OK? Aviso aquí abajo. Ambos. Por ejemplo, me había faltado así que, uh, no hay sonido. Lo vas a ver con garabato. De acuerdo, te
va a decir dónde está, así que asegúrate de que prestes atención a esos ares es Vas hacia adelante. La música te puede ahorrar mucha pena. De acuerdo, entonces ahora voy a ir Poner un espacio aquí. Ahora terminar en para terminar el programa. Llámenlo desde ahí. Adelante. Y ahora otra vez. Lo reconstruyó cada vez. Por lo que ejecuté. Entonces aquí está mi mensaje de pantalla. Terminar el programa y tecleó Exit y ellos terminaron. Ahora, en este punto aquí, donde mi en mi proceso otra vez. Si miro aquí mi proceso, he rezado al proyecto vacío. He creado el programa principal y he creado los métodos de sobrecarga. Ahora lo que podría hacer entonces empezar a construir fuera del show de clases y nuestro mundo lo hará en los próximos 50.
14. Crea tu primera clase y objeto: Sigamos recubriendo los nodos donde estamos. Recuerda lo que hemos hecho hasta ahora. Hemos creado el proyecto vacío. Creamos la clase principal. Hemos creado el método principal de mayo. También hemos creado los métodos de aplicación y sobrecarga. Y en este punto aquí tenemos un programa de trabajo que muestra la información de sobrecarga y termina la información del programa. Ahora, lo que queremos hacer es empezar a construir hasta clase. De acuerdo, entonces en este caso aquí, vamos a empezar a construir la clase. Y de nuevo, no
vamos a usar Diskant, construir primero el shell con las constantes y variables. Y luego la otra cosa que vamos a hacer para realmente poder exhibir esa información, necesitamos poder recolectarla. Y en realidad vamos a agregar entonces para obtener información de pago también. Para entonces podríamos mostrarlo. Entonces vamos a integrar eso en el programa principal. De acuerdo, así que dejemos eso a un lado. Y luego sigamos adelante y construyamos una clase Una nueva clase y otra vez, así como construyes nuevas clases vas a depender entonces de tu entorno de programación. Pero lo que vamos a hacer aquí es que vamos a dar click en el proyecto. Voy a hacer click izquierdo. Perdón, pero eso rápido en la solución y voy a añadir nuevo artículo. Se va a subir. Entonces, ¿qué quieres agregar? Voy a desplazarme hacia abajo a visuales. Vigil ve clase afilada. Voy a darle un nombre. Y yo el nombre que le estoy dando esto. Si me aseguro de que seguimos el diagrama de clases es nuestra plantilla. Esto van a ser empleados. Mi click add. Ahora tengo una clase aquí y nota aquí abajo. Es Ah, ponlo aquí. Ahora. Una de las cosas aquí es que queremos entonces renombrar esto porque eso acaba de nombrar al archivo . Tenemos que cambiarle el nombre a la clase, y van a ser empleados de nuevo. Todo esto depende de todo esto. Depende del medio ambiente. Entonces tenemos nuestra clase y notamos aquí abajo, En realidad, incluso pone en un valor predeterminado construido para ti como lo haces porque básicamente asume que todos deberían tener un constructor. Entonces ahora voy a ir por aquí y hacer esto un poco más grande para que puedas verlo, pero bien. Entonces ahora lo que necesito hacer es crear un valor predeterminado. Y entonces también voy a crear esta información de pago obtener aquí abajo circuito, en realidad ver esa información también. Entonces sigamos adelante y construyámoslo. Y sólo voy a escribir una de las declaraciones. Por lo que notamos Constante pública contra cualquier lenguaje que estés usando, Podría ser diferente. Va a ser un valor de cadena, y va a ser nombre por defecto. Y de nuevo, solo
estoy usando la plantilla por aquí en la clase, Doctor, En este caso, lo
siento, Constante. Y dice que no se da. Sólo voy a Decidimos ponernos todas estas cosas aquí, ¿
verdad? Y así otra vez, entonces
haré lo mismo. Simplemente seguiría ese mismo proceso y declararía todos estos y otra vez solo voy a copiar y pegar. Esto ve estos en. Aquí es como ver a alguien más. La codificación de titán es absolutamente dolorosa, particularmente yo cuando tengo dedos gordos. Está bien, así que ahora básicamente tengo esa información, vale. Y lo otro que quiero hacer es que luego quiero escribir las variables. De acuerdo, así que eso aparece. Voy a escribir las variables nota aquí abajo todo. Y esto es cierto. Todo idioma tiene que ir entre esas clases. Esa definición de clase aquí está en una clase donde todo tiene que ir entre estos estos índices
exteriores o estos corchetes exteriores. Okeanos allá abajo incluso te muestra si hago clic en él. ¿ Cuáles fueron los soportes a juego del colchón son de nuevo? Entonces ahora voy a usar mi Templario por aquí, y voy a crear el No. Voy a seguir adelante y crear las variables nariz aquí abajo que estas no son estáticas. Ellos son privados. De acuerdo, eso es que no son estáticos porque no están subrayados. Y el minero dice que son privados. De acuerdo, entonces voy a dejar de privado y luego cadena y tecleo el nombre del empleado y en este caso aquí, no
voy a inicializarlo y narices aquí abajo. Yo haría lo mismo por la tarifa salarial en las horas trabajadas. ¿ De acuerdo? Ahora, una de las cosas que quiero dio es el constructor. De acuerdo, estos ya sabes, es principio general que las variables dentro deben estar en esta vida. Entonces voy a seguir adelante y tomar estas variables, y les voy a dar un nuevo valor inicial. Es una especie de una de las cosas que constructor podría dio hacer muchas cosas. Pero este es solo uno que estoy, um, señalando es que voy a usar el nombre del empleado y aviso aquí abajo. Es una vez que se destaca la tele ya que mira hacia adelante, golpea, entra y voy a decir default y notarme ahí abajo lo encontró. Obtengo tab Y entonces de nuevo, quiero pagar tasa es igual a y quiero voy a decir que la tasa de pago se va a inicializar. Los hombres califican la ficha, interior. Y luego horas trabajadas es igual a nosotros. A hombres horas cero. Está bien, así que ahora eso es como ilustra tipo de constructores de agua que van a hacer ahora. Realmente no puedo meterme en ella. ¿ Tienes alguna de esta información cuando salgo adelante, pruébalo porque todo es privado y aún no he creado los getters y centros, pero siempre hay no digo siempre, pero en la mayoría de los casos puedes tener algún tipo de función o método que va a obtener la información. Voy a llamarlo, conseguir información de pago en este caso aquí, así que va a ser un método público. Público se llama obtener información de pago y probablemente debería decir que va a ser una cuerda la atención a lo que hay por aquí y ahora lo que voy a hacer es que voy a recoger toda la información de atrevimiento. Ahora dice que vas a ver que aquí hay un error. Dice que no todo el código ruta de retorno valor. Eso es porque aquí tengo que tener una declaración de retorno. Y solo voy a seguir adelante y copiar y pegar de nuevo al código. Este show podrías video positivo y construir esto si quieres, pero básicamente lo que hago, lo que estoy haciendo aquí es que disco elijo el aviso informativo aquí abajo. Tengo ese mismo año antes porque no he vinculado en el archivo de texto. Entonces voy a posibles movimientos de arreglo, voy a mostrar posibles correcciones, y necesito este impuesto del sistema Hacer básicamente referencia. Correcto. Entonces ahora básicamente tengo un shell básico de mi programa o clase de empleados de mi clase. Ahora, en realidad
podría volver a mi programa principal y en realidad podría usar esto, y este siguiente paso es muy importante porque esta es la primera vez que realmente vas a ir y Stan ella comió en objeto. De acuerdo, Entonces volvamos al programa principal. Y de nuevo estoy usando mi diagrama de clase es una guía. Lo primero que dice la clase de empleados principales tiene que tener una variable llamada empleados . Ahora que he creado empleados, en realidad podría simplemente crear una variable así. Y hacemos esa aversión que hemos hecho antes. Te das cuenta de que es subyacente privado significa que estática. Y si vamos a referirlo dentro del programa principal, eso significa que tiene que ser estático. Yo creo que sí. Vamos a privada estática. Es un objeto empleado, el tipo de datos. Y entonces sólo voy a darle su nombre. A empleados, ¿verdad? Entonces tengo a mi primer empleado Ahora no quiero hacer es quiero poder mostrar esa información de
empleado. Entonces de nuevo, quiero crear otro método, y voy a seguir aquí para mostrar la estratagema Información del empleado. Ahora, toda
la idea aquí es que recuerden, ponemos todo este código que encapsulamos poniendo toda la información para conseguir recolectando la información, brindando la información dentro del Mayo dentro de la clase de empleados. Por lo que también tenemos que hacer para mostrar la información es invocar y llamar a la
información de get pay de la clase. Entonces lo que necesitamos dio es otra vez voy a crear una función solo usando mi guía. Por aquí está la información de visualización. Es privado. Está bien, es estático. No regresa en la información y muestra la información del programa. Ahora podríamos acceder ahora, ya que esto está declarado en la misma clase y es privado, podemos acceder. Es una misma jugada. Un objeto empleado sin tener a Teoh Du Passage en es un parámetro. De acuerdo, entonces para que yo también acceda a esa información de empleados que vamos a Teoh tipo en cabildo queremos exhibir al cabildo. Vamos a hacer una línea correcta, decimos, Vale, tengo a mis empleados objeto y voy a conseguir la información de pago. Ya sabes, es una llamada a función o llamada a método, y luego sigo adelante. Ahora, eso se ve bien, pero déjame mostrarte algo. Yo hice esto a propósito. Ahora, cuando vaya a ejecutar este viejo primero que nada, vamos a ejecutar esto y lo mostré, y lo estoy haciendo a propósito. Cometí un error a propósito para ilustrar una de las cosas que vas a ver. De acuerdo, entonces ahora voy y ejecuto esto. Y aunque parezca lógico, una vez que ejecute, voy a obtener un error de tiempo de ejecución. Bueno, intentemos eso otra vez. Porque obviamente cometí un error ese invierno me hice bien. No compré mostró la información de pantalla otra vez. Obtener lo que quiero hacer es en realidad e incluso cambio esta pantalla incorrecta Información de pago. Comienza. Esto ilustra esto el problema donde se acercará la construcción un poco de prueba. Trabajo en el problema donde probé. Trabajo en el problema hasta que lo arregle. Pero lo que realmente quiero aquí arriba es mostrar información de pago. De acuerdo, Ahora, una vez que vuelva a hacer esto, se ve bien. Está bien. Muy bien, intentémoslo de nuevo. Adelante y ejecutarlo de nuevo y nota aquí abajo, me sale un aire de tiempo de ejecución, y aquí es cuando hay que poner atención. Un empleado es igual a saber que voy a seguir adelante y detener la ejecución y lo que significa ese aire. Y cuando veas eso, recuerda, Lo que tenemos que hacer es que cuando creamos un objeto, esto simplemente declara básicamente un objeto. Pero no lo hemos hecho en Stan. Odiaba el objeto. Sin embargo, esto solo dice que no tengo objeto llamado a empleados, pero en realidad aún no he creado en la memoria. Entonces comparezco cuando hago esto, necesito hacer nuevos empleados. Esto es absolutamente necesario. Hay dos pasos de cuándo quieres usar un objeto. Tienes que despejar la variable. Entonces tienes que ponerte de pie. Ella se comió el objeto para separar pasos distintos. Uno de los errores más comunes que hacen los programadores coreanos objeto introductorio declarar la variable, luego en la variable en forma de stand. De acuerdo, entonces ahora el podría realmente lindo esto. Ahora consigo consigo consigo consigo la información de mi programa. No se da. Aquí están todos los incumplimientos, dije. Entonces ahora lo que hice entonces tengo es que tengo un programa de trabajo shell de trabajo de la
clase de empleados . Pero ahora lo que ahora necesito hacer es hacer el procesamiento interno de la clase de empleados y no estar listo para ir. Apenas usando ese proyecto de ley, Se acercará
Little test, y seguiremos que en el próximo video
15. Crea Getters robustos y Setters: parte 1: De acuerdo, aquí estamos en el siguiente paso de construir las clases es si recuerdas dónde estamos, dónde hemos hecho. Tenemos nuestro proyecto. Hemos creado la Clase Principal. Hemos puntuado rápidamente las funciones de sobrecarga. Básicamente creamos el show de clases cuando en realidad somos capaces de trabajar con ese show de clases dentro del programa principal. De acuerdo, Ahora queremos básicamente construir los centros y las cenas. Ahora, necesitamos poder recopilar la información del usuario, poder establecer esa información a la clase, y luego podríamos continuar con el procesamiento. Entonces si miramos nuestro diagrama de clase, vemos que llegamos a hacer eso en dos pasos diferentes. ¿ De acuerdo? El primer paso es que básicamente tenemos que crear los getters y centros para el objeto o para las clases, métodos
privados. Y entonces lo que tenemos que hacer es que tenemos que poder obtener esa información y del usuario y en realidad la presume de nuevo. Vamos a usar esto de manera criminal y haríamos primero el nombre del empleado. Después se construyeron para obtener información de pago por eso. Y entonces estamos a la tasa de pago. Y luego sumamos las horas de trabajo y simplemente lo construiríamos de manera incremental. De acuerdo, entonces hablemos de getters y centros, Ok. Ahora, por ejemplo, hagamos los getters en los centros. Toda la idea detrás de los getters y centros es
Babe, nena tener estas variables privadas. Y cuando establecemos esa información, queremos asegurarnos de que esa información sea correcta. OK, así que vayamos aquí abajo y sigamos adelante y creemos el primer centro para la
clase de empleados . De acuerdo, ahora, una cosa que notamos que mencionamos es ese aviso de que los getters y el sábado no necesariamente están listados en el diagrama de clase porque se asume bien que por defecto, si tienes una variable privada, Empleados miembros conocidos pagan violación que siempre vas a crear getters y centros. No siempre tienes que hacerlo. Pero básicamente es la culpa es que vas a crearlo. Entonces lo primero que vamos a hacer es seguir adelante y crear el getter para el nombre de empleado de
niño para público. De acuerdo, voy a tener que devolver un valor de cadena, conseguir un aviso aquí abajo. El estándar para la guía dice nombre de los empleados. Esta es una forma estándar de nombrar getters. Y entonces todo lo que vamos a hacer aquí es devolver a los empleados nombre lo suficientemente fácil. Ahora se pone más difícil. Ahora, cuando lo
dijimos, realmente queremos asegurarnos de que tenemos valores válidos. Entonces otra vez, vamos a hacer público. De acuerdo, esto un centro no devuelve ningún valor. Entonces vamos Teoh decir evitar en el stand o el es a estándares set nombre de empleado usado, un conjunto de términos y luego el nombre de la variable. Por lo general, así funciona. Ahora tenemos que decir, OK, ¿qué valor le estaban pasando? Entonces voy a decir que lo que se va a pasar, lo que va a pasar va a ser el nombre de los empleados. De acuerdo, entonces entramos ahí, Así que ahora tenemos que revisar dos veces qué hace que sea valor de nombre o valor de cadena. Bueno, no puede estar vacío. Entonces, ¿cuál es la lógica de determinar si un valor no está vacío en ninguna parte? Por lo que recordamos cuando volvemos a nuestras especificaciones de procesamiento, hemos creado el pseudo código para el conjunto empleando nombre. Por lo que nos preguntamos si el nombre del empleado no está vacío, vamos a poner lo que se haya pasado en el nombre. Si está vacío, sólo
vamos a ponerlo en el nombre predeterminado. Entonces, ¿qué ibas a ver? Aquí está la traducción del pseudo código al propio código agudo C real. Lo que comprobamos aquí es ¿Está vacío este nombre Knoller? Y nosotros hacemos eso? No así. Si no se sabe Knoller vacío. Establecemos el valor de entrada al nombre del empleado. Si no está vacío, lo
dijimos a nombre predeterminado. Entonces la lógica aquí probablemente no sea super. Probablemente quieras ampliar esto en la aplicación del mundo real. Pero el punto aquí es que cuando creemos thes centros, vamos a asegurarnos de que validamos la entrada para que el nombre del empleado de
la variable y las demás variables que aire privado a la clase fueran siempre a estar en un estado válido . Ahora que hemos creado este centro para el nombre de los empleados, lo que queremos poder hacer usando nuestro edificio un poco de enfoque de prueba es en realidad ir y probarlo. Para asegurarnos de que funcione correctamente, vamos a un diagrama UML. Eso significa que tenemos que empezar a construir hacia fuera para obtener información de pago y vamos a construir esto y sólo probar recolectar el nombre de empleado establecido en él y ver si podemos mostrarlo correctamente. Ahora ten en cuenta, hemos creado el pseudo código y la lógica de lo que queremos hacerlo para obtener
información de pago . Ahora solo queremos construir esto de manera incremental. Y para este sacramento estaban impulsando por el nombre de los empleados. Vamos a conseguir el nombre del empleado, vamos a ponerlo y luego vamos a ver si podríamos mostrarlo correctamente. De acuerdo, y como solo estoy trabajando con el nombre del empleado en este punto, solo preocúpate por ese. Entonces vamos a necesitar escribir un prompt al usuario dedo del pie una derecha submarina otra vez. Haga doble clic en él. No, ya ves,
introduce el nombre de los empleados. De acuerdo, ahí está mi prompt al usuario, Twig Lee dice que necesitas un punto
y coma ahí, y ahora lo que voy a hacer ahora voy a recoger esa información de la salida y luego realmente la voy a almacenar en el empleados objetan empleados que mi objeto con el que estoy
trabajando otra vez tengo mi nombre fijo y ahora voy a decir OK, leer el consejo y almacenar qué? Almaceno lo que tengo en ese elemento. De acuerdo, entonces ahora solo estoy haciendo el nombre del empleado. Muy bien, así que ahora tengo información de display. Voy a volver aquí arriba ahora y ahora voy a decir obtener información de pago. Y ahora este caso aquí puedo disco elegir perro de prueba y establecer la información del empleado. Entonces ahora si voy adelante y lo pruebo ejecutado, consigue un nombre de empleado Billy, y vemos que el nombre del empleado estaba establecido. Ahora, aquí es donde realmente puede estar el do bugger. Una buena herramienta para aprender hacer es que voy a poner una marca va a decir un punto de descanso aquí, que es y así ahora voy a poner el do bugger. Y así pudimos ver cómo funcionan las cosas. No, yo ejecuto el programa y ustedes notan aquí abajo Sarkozy No los necesitamos. Paró la ejecución en este punto aquí. Nombre del empleado inter. Correcto. Entonces ahora voy adelante y voy adelante y paso hacia él. Este es el paso de depuración mostrado siguiente declaración. Podría ver lo que pasa. Perdón por eso. Pulsando el botón equivocado. Está bien. El nombre inter empleado que puse en Billy. Y así se nota aquí abajo, vemos que se saltó. El control de ejecución se pasó al objeto empleado. Se puede ver aquí abajo dice, Aquí está el nombre. Este es el objeto con el que estamos trabajando. Ahí está el nombre que podría verlo. Podría entonces volver a entrar en ella. De acuerdo, ahora va y comprueba si Billy lo está. Lo que se está pasando no está más vacío. No lo es. Y luego adelante y vemos que se llama Verifica que eso establece el nombre correctamente, y luego da un paso atrás y controla. Y luego otra vez, si golpeo, continúa. Correcto. Entonces esa es una de la 1ra exposición a los buggers. Te sugiero que intentes usar ese cabrón para ver realmente cómo funcionaba el Control de Programas. Um, y entonces estamos muestra más ejemplos. Vamos hacia adelante
16. Crea Getters robustos y Setters: parte 2: progresando. Entonces, ¿dónde estamos en el proceso? Aquí ahora recuerda el proceso, ¿qué hemos hecho? Hemos creado el proyecto vacío. El profesorado, bien, Antes de seguir adelante, creó la clase principal. Comienza. Nos aseguramos de que el trabajo Antes de seguir adelante, creamos los métodos de sobrecarga de la aplicación. Creamos el caparazón de clase, y ahora entonces cebamos. Básicamente se crea Nuestro primer centro con el nombre Ahora queremos hacer es continuar en este bucle y crear otros centros y getters para las variables de clase. Entonces, por ejemplo, ve y haz esto un poco más grande. Vamos a seguir adelante y crear el getter y setter para tasa de pago y aversión. Resultado hecho antes. Vamos a crear un get ella primero, y va a devolver un doble valor otra vez. Notó que convención de nomenclatura con get y luego el nombre de la variable típicamente, lo que vas a ver en aplicaciones y vamos a devolver el par A como lo hemos hecho antes, vamos a volver a sus algoritmos especificaciones para el conjunto, la tasa de pago, y vamos a traducir ese pseudo código al código de programación real. Recuerda, estamos recibiendo la tasa de pago en el pasado en. Entonces si la tasa salarial que se aprueba es mayor que la tasa de hombres y menor que la tasa máxima , lo contrario está dentro de ese rango válido. Simplemente vamos a tomar lo que sea que se haya pasado, y vamos a poner eso en la tasa de pago de los empleados si es izquierdas y la tasa de los hombres. De lo contrario la tasa salarial es, digamos, pariente
negativo. Vamos a entonces sólo restablecer la tasa de pago a la tasa mínima permitida. Si es mayor que la tasa máxima, digamos, por ejemplo, la 150 entonces sólo vamos a restablecerla a la tasa máxima. Entonces sigamos adelante y solo sigo adelante y copio y pego el código para que no tengas que ver mis dedos gordos
teclear a la enfermera lo que hicimos aquí. Traemos el valor que se está recolectando del usuario. Es una tarifa doble. Nos aseguramos de que escupe entre la tasa mínima y la tasa máxima. Si lo es, seguimos adelante y establecemos la variable local o la variable en el objeto a esos valores pasados . Si es menor que la tasa de hombres, vamos a seguir adelante y ponerla a la tasa mínima. Si es mayor que la tasa máxima, seguimos adelante y lo volvemos a bajar al máximo inicio en aplicación del mundo real, esto va a ser un poco más robusto. Ah, pero tienes la idea. Entonces, ¿qué hacemos ahora? Lo que necesitamos dio es ahora tenemos que seguir adelante y poner en el código para realmente recoger la entrada del usuario. Y entonces Así vamos a bromear, saltar al método principal. A continuación se presentan proceso. Vamos a obtener información de pago pseudo código y ver qué necesitamos traducir en código de
programación real . Por lo que parece que obtenemos información de pago. Ya hemos hecho a los empleados. Entonces ahora lo que vamos a hacer por la tasa de pago ya que vamos a mostrar un prompt al usuario , vamos a hacer que el usuario introduzca la tasa de pago. Entonces lo que tenemos que hacer es querer validar que las tasas de pago de número, por ejemplo, no
queremos algo así como, Ah, número
válido sería algo así como 34. Esa es una entrada válida. Pero si algo en el que el usuario o algo así es basura y eso hará que tu programa el choque. Por lo que queremos asegurarnos de que esta entrada que se le proporcione su número real. Si es un número válido, entonces vamos a establecer la tasa de pago en la clase de empleado. De lo contrario, vamos a mostrar en su mensaje. Veamos entonces cómo traducimos este pseudo código en el código de programación real. Está bien. Y de nuevo, en este punto de aquí, voy a seguir adelante y sólo copiar y pegar el código y explicarte qué está pasando. Entonces volvemos a la información de get pay y he puesto en algunas variables temporales aquí locales muy se mueve aquí para que pudiéramos asegurarnos de que pudiéramos recolectar los datos y validar a los datos y pagar saco abrigo en. Adelante y pausar la grabación para mirar esto. Pero hay un par de cosas que quiero que se den cuenta. Vamos a hacer el consejo línea derecha ese aviso aquí abajo, queremos poder darle un prompt al usuario sobre lo que debería estar entrando su
un par A entre alguna tasa mínima y la tasa máxima. Aquí es donde entra en juego el concepto de una variable compartida o estática. Si volvemos a la clase de nuestros empleados, notamos que luego ponemos esos es público, Constance, estos aire, luego estáticos. Y entonces podría entonces acceder a ve sin realmente crear el objeto. Entonces eso es lo que estamos haciendo ahora con la estática. No tengo que tener un objeto natural para que estos valores existan a la clase de empleados. Y entonces podría simplemente hacer referencia a cada uno de los puntos de datos individuales individuales que quiero y notar que podrías hacer esto con dentro de métodos extáticos o cualquier otro miembro
estático que hayas creado, verdad? Entonces en este caso aquí, también
vamos a hacer alguna validación de entrada de validación en el código a nivel de interfaz. En primer lugar, vamos a volver a leer en la cuerda con lo mismo. Tenemos que recordar que todo lo que está rojo está entrando es una fuerza. Entonces, por ejemplo, si quiero escribir el valor de, digamos, 54 lo que realmente lee el sistema es la representación de cadena de ese número 54. Bueno, eso no es un número. Eso es una cuerda, lo que realmente queremos. Queremos el valor 54. Entonces tenemos a Teoh analizar al valor en el ya sabes, las partes agregan valor al número real 54 ahora y C agudo y otra vez, cada lenguaje entornos compromistal pero diferente. ¿ Cuáles son las partes de la raya lo comprueba para asegurarse de que no pusiste en chatarra? Por ejemplo, si el usuario ingresa basura bien, ese no es un número válido. Y si intentas analizar eso si intentas Pursat, entonces tu programa se va a estrellar lo que hace esta partes. Básicamente dice que nos aseguraremos de que sea un voto y en realidad un número. Y si no es un número, envío un mensaje de error. Pero si está bien un número uno, establece el valor. Entonces ahora, en este punto aquí, he puesto en la tarifa salarial. Yo he establecido la tasa de pago. Ahora puedo seguir adelante y ejecutar el testamento esto fuera y seguir adelante y probarlo. Yo un empleado llamado Oy, preguntamos qué dice la tasa de pago ISS. 54. Parece que necesito poner un espacio ahí dentro y notar ahí abajo. Tenemos la tasa de pago fijada, así que soy una cosa calculada todavía porque no hemos hecho los cálculos, pero estoy empezando a conseguir los datos que están entrando. De acuerdo, Entonces lo que tengo que hacer es también necesito poner un dicho colon al final de esto en un espacio . Entonces hay un espacio entre la entrada en la salida, ¿
verdad? Eso es una especie de ilustra una de las razones por las que no hiciste este
enfoque de pequeños testículos de Bill . Yo me aseguro de que éste sea correcto antes de ir al otro. Correcto. Entonces el otro, las horas funcionan, la lógica es exactamente la misma. Entonces lo que voy a hacer es que eso se vaya ahora. Y vamos a entrar al crear a getters y centros para las horas de trabajo y como antes, sólo tienes que seguir adelante y crear el código. Es exactamente la misma estructura en los mismos procesos exactos que hicimos con la tasa de pago. La mayoría aquí abajo. ¿ Qué? Tengo las horas establecidas trabajadas. De acuerdo, Um y luego donde traigo las horas si las horas son mayores Neagle mujeres horas. Está bien, ya veo. Y es menos desigual. Horas máximas, dije, lo que pasa en lo contrario, si es menos que las horas mínimas, voy a aceptar, lo re mandé al mínimo. Si es mayor que Max, las
horas van a establecer un reiniciarlo al máximo, y tenemos que asegurarnos también a la misma hora, que es que necesitamos asegurarnos de que tenemos al getter ahí también. Entonces tengo que meterla ahí. Y ahora voy a volver con los principales empleados. Y ahora sólo voy a entonces básicamente reproduce, codificado. Pero excepto por tomar en las horas trabajadas, lo
siento. Entonces como vemos aquí, sólo
tenemos la básicamente la misma lógica exacta. Utilicé los métodos estáticos en este caso
a Constante, para darme las horas mínimas y luego la máxima nuestra Así puedo proporcionar una salida al usuario y noté que estoy aquí. ¿ Necesitaba hacer ese mismo poco aire que hacía antes? Entonces sigamos adelante y corrijamos que leo en el valor que intento volver a analizarlo. Aquí la idea es que queremos asegurarnos de que obtenemos un número y no algún salto en la cuerda si es válido. Yo lo dije. No lo es. Simplemente básicamente proporciono al usuario su mensaje así que no Adelante y pruébalo. Se trata de un empleado llamado Billy. El nuestro trabaja 50 horas, 25 dólares la hora y aviso aquí abajo. Tengo el Billy 50 horas o 50 dólares la hora en 25. 25 horas trabajadas. Está bien, así que ahora en este punto de aquí, lo que necesito hacer, no
he hecho el procesamiento. Y el siguiente paso entran al diagrama de clase y luego salen a construir los métodos. Necesitamos realmente procesar esos datos una vez que los hayamos recopilado. Y eso es lo que vamos a ir a hacer en el siguiente incremento. - Entonces no seguir adelante y probarlo. El empleado llamado Billy nuestro trabaja 50 horas, 25 dólares la hora y aviso aquí abajo. Tengo el Billy 50 horas o $50 la hora en 25 25 horas trabajadas. Está bien, así que ahora en este punto aquí, lo que necesito hacer, no he hecho el procesamiento, y el siguiente paso, entonces, es entrar al ir al diagrama de clase y luego salir y construir los métodos que necesitamos para procesar realmente esos datos una vez que los hayamos recopilado. Y eso es lo que vamos a ir a hacer en el siguiente incremento
17. Construye los métodos /funciones / funciones: casi hecho. Tenemos una cosa más que hacer ahora. Llegar, recuerda dónde estamos Haz que esto sea un poco más grande para que todo el mundo pueda verlo. Estamos en este punto aquí donde hemos implementado todos los getters y centros. Ahora lo que necesitamos que queremos hacer es que queramos poder realmente crear los métodos. Y el único método que estamos creando en esta clase o esta de programa es un sueldo
bruto de cálculo . Por lo que ahora necesito ir a calcular la paga bruta integrada en la función principal. Ahora, lo realmente bonito de esta función es que realmente ya no tengo dedo del pie actualizar el
método principal . Ya que esto está todo encapsulado los cálculos salariales, todo encapsulado en empleado, solo
puedo hacer todo aquí. De acuerdo, así que voy a seguir mi diagrama UML, y voy a seguir adelante y luego dis implementar de nuevo el programa de calculadora de pago. Eso va a quedar así. Se va a doble cálculo privado pago bruto, y todo lo que hago es devolver las horas trabajadas. Tiempo para pagar tasa. Ahora bien, tenga en cuenta, podría usar estos aquí sin pasar porque sus particulares miembros del ob de en esta clase un objeto. Entonces todo lo que he declarado a nivel de clase, que tengo en este punto aquí, y podríamos verlo por aquí, cualquier cosa que sea para renunciar con lo declarado a nivel de clase aquí es ahora accesible para él . Y no tengo que pasar los datos por ahí. Está bien, así que ahora lo que solo necesito hacer ahora, como tengo que hacer, es una actualización para obtener información de pago para luego calcular cada vez que después de cada vez que he establecido , um, las horas trabajadas en el pago. En este momento esto es bastante fácil. Todo lo que necesitan hacer es que acabo de agregar esto una línea de pin que pongo en el estado de salida pago bruto . Entonces llamé al método calcular el pago del crecimiento. Ahora, recuerda, cada vez que estoy poniendo algo en el constructor de cuerdas, tiene que ser una cuerda. Entonces voy a darle la vuelta la cuerda, y aquí digo que va a ser formato de moneda. Ahora, eso realmente bonito es ahora, ya que todo esto está encapsulado dentro de la información de los empleados, realmente no
tengo que hacer nada a la principal. Um te refieres a clase de empleados, porque una vez que lo haya recogido, bien, Una vez que haya recogido toda esa información, solo
voy a mostrar la información en una calculadora para mí automáticamente. Vayamos a mirarlo. Entonces va a ser Billy. Oye, Billy. Trabaja 50 horas esta semana a 45 dólares la hora, y notamos que ganó 25 2025 $250 para esta semana. Terminar el programa. Muy bien, entonces lo que hemos hecho aquí, en realidad
hemos terminado están programados. Una vez que has pasado por todo este proceso, básicamente
se terminaron. Nuestra primera generación del programa. Ahora no terminamos en este punto. No lo probamos lo suficiente para comprobar realmente todo el pasado. No lo probamos para ver qué pasa cuando ponemos datos de basura. No probamos lo que sucede cuando sacamos un dato de rango. De lo contrario, ponemos un negativo 10 o 150. Pero eso sería parte del proceso de pruebas. Ahí continúas. Entonces, básicamente, ese es el proceso. ¿ Te acuerdas? Dos DUI. Tú del proyecto de ley pequeño testículo se acerca a que tú El que estoy haciendo es que creas el programa principal. Está bien. Proyecto vacío para asegurarse de que funcione. Se crea la clase principal. Asegúrate de que eso funcione. Entras y construyes el en los métodos de sobrecarga, y en este punto tienes un shell de trabajo de un programa y luego poco a poco, creas cada clase a la que vas a su clase a la que vas y construyes, integras en tu sistema. Integras eso a la metanfetamina principal, asegúrate de que funcione, se convirtió y eso es un caparazón. Después vas a la clase, construyes cada uno de los getters y centros integras incrementalmente esos en el
método principal llegó hasta que eso esté hecho y luego creas y modificas tus métodos. En realidad van a hacer tu procesamiento que necesitas. Y luego una vez hecho eso, vas a la siguiente clase. Entonces lo que vamos a hacer es que sólo vamos a hacer algunos pensamientos finales en la siguiente lección y lo que te recomiendo que hagas. ¿ Practicaste esto tanto como sea posible?
18. Pensamientos final: cosas que recuerdo: Hola. Bienvenidos a la última lección. Un objeto. Programación coreana. En esta lección, me gustaría brindarles algunos pensamientos finales, y espero mostrarles y convencerles de que si bien la programación real es muy importante, ya que no se puede crear una aplicación de software sin poder programar. Pero sus programadores introductorios, creo que es igual de importante o incluso más importante, que entiendas que tu concepto subyacente como encontrarás habilidades de programación son perecederos. Y si no practicas constantemente, las nuevas habilidades se desvanecerán. No obstante, una comprensión subyacente de los conceptos se quedará con tu largo tiempo. Y luego cuando vuelvas a empezar a programar, o si cambió a un nuevo lenguaje, la Fundación Conceptual te ayudará a recoger el programa. Va mucho más rápido. Como probablemente sabrás, la tecnología cambia rápidamente en el mundo de la ingeniería de software. Obtenemos nuevos lenguajes y nuevas herramientas de desarrollo cada par de años. Algunos de los lenguajes más nuevos o go long python ha sido alrededor de un tiempo, pero rápidamente se está volviendo muy popular. Lenguaje. El lenguaje está en decadencia u obsoleto, o pascal visual básica seis pequeña charla para una tendencia y así sucesivamente. También las herramientas de todos se morph juntos, él clips Net beans, Microsoft Visual Studio, las herramientas que utilicé. Tendré el mismo conjunto básico de operaciones que todos han formado. Diseñadores dicen un sentido compiladores en tiempo real, proyecto Explorers auto co generadores y control de código fuente. Si aprendes a usar una de estas herramientas, va a ser mucho más fácil para ti recoger las otras herramientas porque son tan similares en cuanto a las interfaces en las operaciones. Por otro lado, el concepto
subyacente al desarrollo de software mientras han madurado a lo largo de los años, no han cambiado drásticamente en las últimas décadas. El cambio más grande. Mi carrera es Cuando fuimos De Programación de Estructura, Programación Job Victoria a principios de los noventa 19 y dos miles, los conceptos básicos obvios coreanos no han cambiado mucho sentido. Además, considere cuántos lenguajes han derivado sólo del lenguaje de programación C más C plus Java, sea, python
agudo, javascript. En consecuencia, todos
tienen una sintaxis muy similar. Otros lenguajes utilizan las mismas estructuras de control básicas de las mismas. Todos usarían selección de secuencias, funciones de
looping y parámetros y luego, otro lado,
según nos movíamos, según nos movíamos, robaron a una programación coreana los conceptos y a pesar de que el proceso general de desarrollo es lo mismo para cada idioma y cada herramienta. Todos los diferentes idiomas. Java C más C python agudo más C. Todos ellos básicamente usan clases y objetos. Utilizan encapsulación de datos escondiendo que es heredado. Como mencioné, las habilidades de
implementación son importantes. Es necesario saber programar. No obstante, solo
es importante o, más importante, entender los conceptos y procesos generales que ese es el
lenguaje de programación real , particularmente como programador introductorio, los conceptos no van a cambiar. Sólo detalles de implementación cambios. Pasas del lenguaje al lenguaje que está buscando ejemplo. Aquí te presentamos un programa académico básico que va a dibujar formas en la pantalla. Te das cuenta es que te mira. Diagrama Clase Mel. No hay nada en el diagrama que sea mejor está lejos especifica qué lenguaje de programación. Lo que le he estado yendo a mostrar entonces. El desarrollo de este programa en dos idiomas, Java y C agudo, Y lo que vas a ver es que hay muy poca diferencia en cuanto a la estructura, su programa y particularmente entre Java y C afilado. Hay muy poca diferencia en la sintaxis general del propio lenguaje de programación. Entonces aquí está el programa de forma, uno construido en Java con net beans, el segundo construido en C sharp con visual studio que notaste muy rápidamente. Hay una similitud entre las herramientas. Ambas herramientas tienen una solución. Explorer, esa lista de archivos. Noté el nombre de las clases o el mismo aviso aquí abajo que paquetes aire similar. Ambos tienen una forma y utilidades, forma y utilidades. Si miro uno de los archivos en C Sharp, notamos que ya hemos visto este tipo de objeto antes. Pero si miro la clase de círculo y Java, notan
que está muy en algún lugar de estructura. Es muy similar en sintaxis. Si miro a una clase cuadrada, compare los dos que notan de nuevo. Muy similar en estructura, muy similar en sintaxis. Si miro el programa principal para cada no, está aquí abajo. Es muy similar en cuanto a estructura general y cómo se ejecuta el programa. Entonces el punto que quiero hacer aquí si miramos la implementación, son muy similares y muy en estructura y muy similares en sintaxis. Por lo que entender los conceptos fundacionales hace que la implementación sea mucho más fácil. Y si vas entre lenguaje a idioma, si entiendes esos conceptos tu vida se vuelve mucho más fácil y podrás hacer esa transición mucho más rápidamente. Entonces, ¿qué sigue en tu viaje de objeto o programación? En este curso, cubrimos los conceptos básicos e implementación de objeto durante el diseño de programación. Estos son conceptos fundamentales necesarios para que hagas una programación más avanzada en el concepto y las técnicas
intermedias. Curso hablaremos de composición, donde las clases conformaron un varias clases más pequeñas como un motor de un auto, se compone de muchos componentes más pequeños es decir, los pistones de bloque de motor, inyectores de
combustible y así sucesivamente. herencia es el concepto de crear clases padre que contengan atributos y
operaciones comunes y luego permitir que las subclases se basen en la clase padre. Y entonces la subclase puede entonces especializarse. El comportamiento. Sí, el concepto de polimorfismo. Esa es la herramienta que utilizamos para permitir que las subclases especialicen el comportamiento de la
operación aparente de clase . Al permitir que la subclase anular el código de la clase padre, sobrecarga nos permite definir operaciones con el mismo nombre. Eso, excepto diferentes entradas de datos después de nuestras clases, es una extensión de herencia donde creamos una clase padre pero nunca tenemos la intención de crear un objeto de esa clase interfaces nos permiten hacer cumplir un conjunto de comportamiento en objetos con el fin de proporcionar consistencia en la implementación de la clase y procesamiento de las técnicas avanzadas aire creando interfaces gráficas de usuario, procesamiento de
bases de datos y patrón de diseño. Bueno, este es el final del curso del programa coreano objeto introductorio, y espero que hayan disfrutado del curso y buena suerte en sus futuros empeños.