新的篇章
面向对象
class Girl(var chactor:String,var voice:String){
fun smil(){
println("笑了")
}
fun cry(){
println("哭了")
}
}
fun main (args:Array<String>){
var gril=Girl("温柔","甜美")
println("gril的声音=${gril.voice}")
gril.cry()
}
面向对象-封装
面向对象-继承
open class Father{
var chactor:String="内向"
open fun action(){
println("喜欢大声说话")
}
}
class Son:Father(){
override fun action(){
println("儿子很乖,不喜欢公共场合大声说话")
}
}
fun main (args:Array<String>){
var son1=Son()
println("儿子的性格${son1.chactor}")
son1.action()
}
面向对象-抽象类和多态
//抽象的人类
abstract class Human(var name:String){
abstract fun eat()
}
//继承
class man (name:String):Human(name){
override fun eat(){
println("${name} 哇哇大口吃饭")
}
}
//继承
class women (name:String):Human(name){
override fun eat(){
println("${name} 哇哇小口吃饭")
}
}
fun main (args:Array<String>){
var a=man("张三")
a.eat()
var b=women("李梅")
b.eat()
}
//多态
abstract class Human(var name:String){
abstract fun eat()
abstract fun pee()
}
//继承
class man (name:String):Human(name){
override fun eat(){
println("${name} 哇哇大口吃饭")
}
override fun pee(){
println("${name} 站着niaoniao")
}
}
//继承
class women (name:String):Human(name){
override fun eat(){
println("${name} 哇哇小口吃饭")
}
override fun pee(){
println("${name} 蹲着niaoniao")
}
}
fun main (args:Array<String>){
var a=man("张三")
var b=women("李梅")
var list=listof<Human>{a,b}
for(h in list){
h.pee()
}
}
接口
/**
* 接口
*/
interface IMan{
fun xiaodidi()
}
class Man :IMan{
override fun xiaodidi(){
println("随便打印")
}
}
fun main (args:Array<String>){
var man1=Man()
man1.xiaodidi()
}
委托和代理 by关键字
interface IWashBowl{
fun washing()
}
//object 关键字
object Son:IWashBowl{
override washing(){
println("我是儿子我在洗碗,一次1元")
}
}
//使用object修饰Son类后,by Son (){} 写法就错误,正确写法 by Son{}
class Father:IWashBowl by Son{
override washing(){
println("我是爸爸,我赚了10元")
Son.washing()
println("我看着儿子洗完了")
}
}
fun main (args:Array<String>){
var father =Father()
father.washing()
}
委托和代理 枚举
enum class Week{
星期一,星期二,星期三,星期四,星期五,星期六,星期日
}
fun main (args:Array<String>){
println(Week.星期一.ordinal)//枚举第几个
}
印章类关键字 sealed,子类类型有限的class
sealed class Son{
fun say(){
println("大家好")
}
class aaa :Son()
class bbb :Son()
}
fun main (args:Array<String>){
var s:Son=Son.aaa()
a.say()
}
网友评论