func getInputString(message: String) -> String{
print(message, terminator: " : ");
return readLine() ?? ""
}
func getInputInt(message: String) -> Int{
return Int(getInputString(message: message)) ?? 0
}
protocol PersonProtocol{
var firstName : String {set get}
var lastName : String {set get}
var address : String {set get}
func fullName()-> String
}
class Person : PersonProtocol{
var firstName : String
var lastName : String
var address : String
init(firstName: String, lastName:String,address:String){
self.firstName = firstName
self.lastName = lastName
self.address = address
}
func fullName()-> String{
var parts:[String] = []
parts += [firstName]
parts += [lastName]
return parts.joined(separator: " ")
}
}
protocol StudenProtocol{
var school:String {set get}
func getInformation()->String
}
class Student : Person, StudenProtocol{
var school : String = ""
func getInformation()->String{
return "Perkenalkan nama saya \(fullName()), saya sekolah di \(school)"
}
}
print("Selamat datang di aplikasi Dicoding Member!")
print("--------------------------------------")
let firstName = getInputString(message: "Masukkan nama depan kamu")
let lastName = getInputString(message: "Masukkan nama belakang kamu")
let address = getInputString(message: "Masukkan alamat kamu")
let school = getInputString(message: "Masukkan nama sekolah / kampus kamu")
let member = Student(firstName: firstName, lastName: lastName, address: address)
member.school = school
print("--------------------------------------")
print(member.getInformation())
print("--------------------------------------")
print("Terima kasih, selamat datang kembali!")