Kotlin es compatible con la programación funcional y orientada a objetos. En artículos anteriores, aprendimos sobre funciones, funciones de orden superior y lambdas que representan a Kotlin como un lenguaje funcional. Aquí, aprenderemos sobre los conceptos básicos de programación orientada a objetos que representan a Kotlin como un lenguaje de programación orientado a objetos.
Lenguaje de programación orientado a objetos
Clase y Objetos son los conceptos básicos del lenguaje de programación orientado a objetos. Estos soportan los conceptos OOP de herencia, abstracción, etc.
Clase
Al igual que Java, la clase es un modelo para objetos que tienen propiedades similares. Necesitamos definir una clase antes de crear un objeto y la palabra clave class se usa para definir una clase. La declaración de clase consiste en el nombre de la clase, el encabezado de la clase y el cuerpo de la clase entre llaves.
Sintaxis de la declaración de clase:
class className { // class header // property // member function }
- Nombre de clase: cada clase tiene un nombre específico
- Encabezado de clase: el encabezado consta de parámetros y constructores de una clase
- Cuerpo de la clase: rodeado de llaves, contiene funciones miembro y otras propiedades
Tanto el encabezado como el cuerpo de la clase son opcionales; si no hay nada entre llaves, entonces se puede omitir el cuerpo de la clase.
class emptyClass
Si queremos proporcionar un constructor, debemos escribir un constructor de palabras clave justo después del nombre de la clase.
Creando constructor:
class className constructor(parameters) { // property // member function }
Ejemplo de clase Kotlin:
Kotlin
class employee { // properties var name: String = "" var age: Int = 0 var gender: Char = 'M' var salary: Double = 0.toDouble() // member functions fun name(){ } fun age() { } fun salary(){ } }
Objeto
Es una unidad básica de la Programación Orientada a Objetos y representa las entidades de la vida real, que tienen estados y comportamiento. Los objetos se utilizan para acceder a las propiedades y funciones miembro de una clase. En Kotlin, podemos crear múltiples objetos de una clase. Un objeto consta de:
- Estado : Está representado por los atributos de un objeto. También refleja las propiedades de un objeto.
- Comportamiento : Está representado por los métodos de un objeto. También refleja la respuesta de un objeto a otros objetos.
- Identidad : Da un nombre único a un objeto y permite que un objeto interactúe con otros objetos.
Crear un objeto
Podemos crear un objeto usando la referencia de la clase.
var obj = className()
Accediendo a la propiedad de la clase:
Podemos acceder a las propiedades de una clase usando un objeto. Primero, cree un objeto usando la referencia de clase y luego acceda a la propiedad.
obj.nameOfProperty
Accediendo a la función miembro de la clase:
Podemos acceder a la función miembro de la clase usando el objeto.
obj.funtionName(parameters)
Programa Kotlin para crear múltiples objetos y acceder a la propiedad y función miembro de la clase:
Kotlin
class employee { // Constructor Declaration of Class var name: String = "" var age: Int = 0 var gender: Char = 'M' var salary: Double = 0.toDouble() fun insertValues(n: String, a: Int, g: Char, s: Double) { name = n age = a gender = g salary = s println("Name of the employee: $name") println("Age of the employee: $age") println("Gender: $gender") println("Salary of the employee: $salary") } fun insertName(n: String) { this.name = n } } fun main(args: Array<String>) { // creating multiple objects var obj = employee() // object 2 of class employee var obj2 = employee() //accessing the member function obj.insertValues("Praveen", 50, 'M', 500000.00) // accessing the member function obj2.insertName("Aliena") // accessing the name property of class println("Name of the new employee: ${obj2.name}") }
Producción:
Name of the employee: Praveen Age of the employee: 50 Gender: M Salary of the employee: 500000.0 Name of the new employee: Aliena
Publicación traducida automáticamente
Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA