Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ismoilovashahina/ca26e4a1f5e5a9f1c03baf4e2648c2aa to your computer and use it in GitHub Desktop.
Save ismoilovashahina/ca26e4a1f5e5a9f1c03baf4e2648c2aa to your computer and use it in GitHub Desktop.
open class Person(var name:String, var age:Int, var gender:Boolean){
init {
if(gender){
if (age>26){
age-=5
}
}
}
fun showAge():Int{
return age
}
}
open class Employee(_name: String, _age: Int, _gender: Boolean, var salary:Int) : Person(_name, _age, _gender)
class Manager{
var persons = arrayOfNulls<Person>(100)
var current = 0
var maxSalary = 0
fun addUser(person: Person){
persons[current++] = person
}
fun maxSalary():Int{
for (i in 0 until current){
if (persons[i] is Employee){
if (maxSalary < (persons[i] as Employee).salary){
maxSalary = (persons[i] as Employee).salary
}
}
}
return maxSalary
}
fun sortName(){
persons.sortBy { it?.name }
for (person in persons){
if (person == null) continue
println(person.name)
}
}
}
class Girl(Name: String, Age: Int) : Person(Name, Age, true)
class Doctor(_Name:String, _Age:Int, _Gender: Boolean, _Salary: Int, var prof: String) : Employee(_Name, _Age, _Gender, _Salary)
class Programmer(n:String, a:Int, g:Boolean, s:Int) : Employee(n, a, g, s)
class Sportsman(name:String, age: Int, gender: Boolean, salary: Int) : Employee(name,age,gender,salary)
class Student(name: String, age: Int, gender: Boolean) : Person(name, age, gender)
class Teacher(name: String, age: Int, gender: Boolean, salary: Int, var fan:String) : Employee(name, age, gender, salary)
fun main() {
var girl = Girl("Shahina", 16)
var doctor = Doctor("Rashidova Zulfiya", 39, true, 1000, "Nevropotolog")
var programmer = Programmer("Soatov O'tkir", 41, false, 800)
var sportsman = Sportsman("Rashidov Nizomiddin", 10, false, 0)
var student = Student("Husanova Mashhura", 19, true)
var teacher = Teacher("Rashidov Farruh", 41, false, 2500, "Iqtisodiyot")
var manager = Manager()
manager.addUser(girl)
manager.addUser(doctor)
manager.addUser(programmer)
manager.addUser(sportsman)
manager.addUser(student)
manager.addUser(teacher)
manager.sortName()
println( manager.maxSalary() )
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment