Skip to content

Commit 24a504d

Browse files
Implementing of classes in kotlin
1 parent 19c3e09 commit 24a504d

File tree

5 files changed

+141
-0
lines changed

5 files changed

+141
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.kotlin.oop.classes
2+
3+
/**
4+
* Created by Hussain Sherwani
5+
* at 10:42 AM on 1/9/2018
6+
7+
*/
8+
class ConstructorWitIInitBlock(val name: String, var age: Int) {
9+
// val personName: String = name
10+
var personAge: Int = age
11+
12+
init {
13+
println("Object Is created")
14+
}
15+
16+
fun speak() {
17+
println("Hello Word..!")
18+
}
19+
20+
fun great(name: String) {
21+
println("Hello $name..!")
22+
}
23+
24+
fun getYearOfBirth() = 2018 - personAge
25+
26+
}
27+
fun main(args: Array<String>) {
28+
29+
val person = ConstructorWitIInitBlock("Hussain", 24)
30+
person.speak()
31+
person.great("Hussain")
32+
println(person.getYearOfBirth())
33+
34+
println(person.name)
35+
println(person.age)
36+
}
37+

src/com/kotlin/oop/classes/Day.kt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.kotlin.oop.classes
2+
3+
/**
4+
* Created by Hussain Sherwani
5+
* at 3:37 PM on 1/9/2018
6+
7+
*/
8+
enum class Day {
9+
MON, TUE, WED, THUR, FRI, SAT, SUN
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.kotlin.oop.classes
2+
3+
/**
4+
* Created by Hussain Sherwani
5+
* at 3:40 PM on 1/9/2018
6+
7+
*/
8+
fun printEnum() {
9+
val currentDay : Day = Day.TUE
10+
11+
for (d : Day in Day.values()) {
12+
println("Day: $d")
13+
}
14+
println("Current Day: $currentDay")
15+
when (currentDay) {
16+
Day.MON, Day.TUE, Day.WED, Day.THUR, Day.FRI -> println("Weekday")
17+
Day.SAT, Day.SUN -> println("Weekend")
18+
}
19+
}
20+
21+
fun main(args: Array<String>) {
22+
printEnum()
23+
}
24+
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.kotlin.oop.classes
2+
3+
/**
4+
* Created by Hussain Sherwani
5+
* at 10:17 AM on 1/9/2018
6+
7+
*/
8+
class UserInfo {
9+
var name: String = "Hussain"
10+
var age: Int = 23
11+
fun speak() {
12+
println("Hellow")
13+
}
14+
15+
fun great(name: String) {
16+
println(name)
17+
println("Hello $name!")
18+
}
19+
20+
fun greats(name: String, age: Int) {
21+
println(name)
22+
println("Hello $name! , your age is $age")
23+
}
24+
// fun getYearOfBirth(age: Int):Int{
25+
// return 2017-age
26+
// }
27+
28+
// we can also use funcation like this.
29+
fun getYearOfBirth() = 2016 - age
30+
}
31+
32+
fun main(args: Array<String>) {
33+
val person = UserInfo()
34+
35+
println(person.name)
36+
println(person.age)
37+
println(person.getYearOfBirth())
38+
// println(person.getYearOfBirth(23))
39+
person.speak()
40+
person.great("Zubair")
41+
person.greats("Hussain", 23)
42+
person.name = "Ibrahim"
43+
person.age = 18
44+
45+
println(person.name)
46+
print(person.age)
47+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.kotlin.oop.classes
2+
3+
/**
4+
* Created by Hussain Sherwani
5+
* at 10:20 AM on 1/9/2018
6+
7+
*/
8+
9+
class UsingPrimaryConstructor(val firstName: String, var age: Int) {
10+
// Here the block of code surrounded by parenthesis is the primary constructor.
11+
// the constructor of this class defined two parameter one is name which is read only
12+
// and other is age we can override this value
13+
14+
}
15+
16+
fun main(args: Array<String>) {
17+
18+
val person1 = UsingPrimaryConstructor("Joe", 25)
19+
20+
println("First Name = ${person1.firstName}")
21+
println("Age = ${person1.age}")
22+
}
23+

0 commit comments

Comments
 (0)