Estudio Android Crear subcategorías – 1 Crear una subcategoría de SquareCabin 1. En la categoría Vivienda, cree una categoría llamada SquareCabin. A continuación, debe indicar que SquareCabin está relacionado con Dwelling. En su código, debe indicar que SquareCabin se extiende desde Dwelling (o es una subclase de Dwelling), Porque SquareCabin proporcionará la implementación de la parte abstracta de Dwelling. Al agregar dos puntos (:) después del nombre de la clase SquareCabin, Seguido de una llamada para inicializar la clase de vivienda principal, lo que indica esta relación de herencia.
2. Si se extiende desde una categoría principal, debe pasar los parámetros requeridos por la categoría principal. Vivienda necesita introducir el número de residentes. Sin embargo, desea que su programa sea más flexible y permita una cantidad variable de invitados en Square Cabins. Por lo tanto, incluya a los residentes como un parámetro en la definición de la clase SquareCabin. No declare residentes como val, porque está reutilizando una propiedad ya declarada en la clase principal Vivienda. Ejecute su código.
Esto hace que se produzca un error. Constructor La definición de la clase Vivienda especifica que su constructor requiere un parámetro de residentes, Entonces verá que los residentes pasan al constructor Dwelling en la definición de la clase SquareCabin. En la clase Vivienda, define una variable abstracta materialconstrucción. SquareCabin es una subclase de Dwelling, por lo que debe proporcionar un valor para buildingMaterial. Utilice la palabra clave override para indicar que esta propiedad está definida en la clase principal y se reemplazará en esta clase. 3. En la clase SquareCabin, invalide la propiedad buildingMaterial y asígnele el valor "Madera". Haz lo mismo para la capacidad e indica que en una SquareCabin pueden vivir 6 personas.
Uso de SquareCabin 1. Inserte una función main() vacía antes de las definiciones de clase Dwelling y SquareCabin. 2. En la función main(), cree una instancia de SquareCabin llamada squareCabin con 6 invitados. Se agregó una descripción de salida para la capacidad, los materiales de construcción y la función hasRoom(). Tenga en cuenta que la función hasRoom() no está definida en la clase SquareCabin, sino en la clase Dwelling. Dado que SquareCabin es una subclase de la clase Dwelling, la función hasRoom() se hereda directamente sin la operación de la tarea. Ahora, la función hasRoom() se puede llamar en todas las instancias de SquareCabin, Como se muestra en el fragmento de código squareCabin.hasRoom(). 3. Ejecute el código, la salida debería ser así. Ha creado una cabina cuadrada con 6 invitados, que es igual a la capacidad, por lo que hasRoom() devuelve falso. Puede intentar inicializar SquareCabin con menos residentes, Cuando vuelva a ejecutar el programa, hasRoom() debería devolver verdadero. Úselo con para simplificar el código Cuando usa una instancia específica de una clase y necesita acceder a múltiples propiedades y funciones de esa instancia, Puede usar la declaración with para decir "haga todo lo siguiente con este objeto de instancia".
Ingrese la palabra clave con primero, y luego ingrese el nombre de la instancia entre paréntesis, Luego ingrese las llaves dentro de las cuales indica lo que desea hacer. 1. En la función main(), cambie su declaración de salida para usar con. 2. Eliminar "squareCabin" de la descripción de salida 3. Vuelva a ejecutar el código para asegurarse de que se ejecuta sin errores y genera los mismos resultados..