Files
freeCodeCamp/guide/english/kotlin/classes/index.md
Samuel Koprivnjak 1e99510ebc Control Flow for Kotlin lang (#26793)
* Create control_flow.md

* Rename control_flow.md to controlflow.md

* Added control flow

* Added classes

* fix: corrected indentation

* fix: corrected indentation
2019-05-26 17:57:17 +05:30

45 lines
956 B
Markdown

---
title: Classes
---
# Classes
### Basic Usage
#### Declaration
`class` keyword is used to define the class
It is consisted of: class name, class header (type parameters, constructor) and class body (curly braces)
```kotlin
class Person { ... }
```
#### Constructor
There are multiple ways to define class constructor.
Primary constructor is part of the class header (name field with data type):
```kotlin
class Person(name: String) { ... }
```
Secondary constructor: using `constructor` keyword inside class body
```kotlin
class Person {
constructor(parent: Person) {
parent.children.add(this)
}
}
```
#### Usage
Class instance can be created as regular function
There is no need for `new` keyword
```kotlin
val john = Person("John Wayne")
```
#### Resources
* [Basic Syntax Reference](https://kotlinlang.org/docs/reference/basic-syntax.html)
* [Kotlin Classes Reference](https://kotlinlang.org/docs/reference/classes.html)