-
-
Notifications
You must be signed in to change notification settings - Fork 18
/
Inheritance.kt
43 lines (33 loc) · 1.15 KB
/
Inheritance.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
Inheritance is one of the key features of object-oriented programming.
It allows user to create a new class (inherited class) from an existing class (base class).
The derived class inherits all the features from the base class and can have additional features of its own.
*/
open class Human(age: Int, name: String) {
init {
println("My name is $name.")
println("My age is $age")
}
}
class Developer(age: Int, name: String) : Human(age, name) {
fun writeCodes() {
println("I write code in Halil Company.")
}
}
class FootballPlayer(age: Int, name: String) : Human(age, name) {
fun playFootball() {
println("I play for Besiktas JK.")
}
}
fun main() {
val developer = Developer(25, "Halil")
developer.writeCodes()
println()
val footballPlayer = FootballPlayer(38, "Ricardo")
footballPlayer.playFootball()
}
/*
If the class has a primary constructor, the base must be initialized using the parameters of
the primary constructor. In the above program, both derived classes have two parameters age and name,
and both these parameters are initialized in primary constructor in the base class.
*/