Module: Java. Introducción a la programación orientada a objetos


Problem

3/6

Modificadores de acceso

Theory Click to read/hide

Modificadores de acceso
De forma predeterminada, todos los campos y métodos de una clase en Java son privados. Esto significa que nadie puede acceder a ellos, lo que significa que fuera de los objetos de esta clase, ningún método puede usar los campos y métodos de los objetos de esta clase.

Los campos y métodos se pueden hacer públicos con el modificador de accesopublic. También hay un modificador private que hace que el campo sea privado. Es opcional ya que todos los campos y métodos son privados por defecto. Este es un ejemplo del uso de los modificadores public  y private. Libro de clase { Nombre de cadena público; String autorNombre; requisito de edad privado; Cadena de texto; número de páginas int público; int obtenerLongitudTexto() { devolver la longitud del texto(); } public int getAverageLetterCount() { volver getTextLength() / pageCount; } privado int getDifficuiltyLevel() { return 5 * ageRequirement * text.Length(); } }
En esta versión de la clase Book, los campos name y pageCount se hacen públicos para su lectura y modificación en otros objetos. El método getAverageLetterCount() también está disponible para ser llamado desde objetos de otras clases. Todos los demás campos y métodos permanecen privados y solo están disponibles en los métodos de esta clase. En el método público getAverageLetterCount() podemos llamar al método privado getTextLength() porque getAverageLetterCount() pertenece a la clase misma. Pero no funcionará con un método de otra clase.

Pero, ¿por qué entonces hacer que los campos sean privados? En el código Java, en su mayoría solo verá campos privados. El hecho es que si el acceso a los campos privados se lleva a cabo a través de los métodos públicos del objeto, entonces con dicho acceso a los campos privados será posible realizar acciones y verificaciones adicionales. Más sobre esto estará en la lección sobre encapsulación.

Problem

Haga que todos los campos de la clase Book sean privados. Elimina cualquier método que tenga actualmente.

Cree un método público llamado setText(return type void) con un argumento newText que cambiará el valor de text a nuevoTexto. Agregue un método privado getWordsCount que contará la cantidad de palabras en el texto y lo devolverá como int.
La palabra & mdash; una secuencia de cualquier carácter, entre los cuales no hay espacio.

Se garantiza que no pueden ir varios espacios seguidos.