• scala的面向对象编程


    一:简单的编程

    1.scala的简单编程

     1 package er
     2 
     3 class People{
     4   var name:String="";
     5   val age:Int=10;
     6   def eat():String={
     7     name+" eat...";
     8   }
     9   def watchFootBall(teamName:String):String={
    10     name+" is watch match of "+teamName;
    11   }
    12 }
    13 object two {
    14   def main(args: Array[String]): Unit = {
    15     var people =new People;
    16     people.name="tom";
    17     println("name="+people.name);
    18     println("age="+people.age);
    19     println(people.eat());
    20     println(people.watchFootBall("zhongguo"))
    21   }
    22 }

    2. 效果

      

    3.构造方法

      主构造方法,辅助构造方法。

      辅助构造函数是在主构造函数没有的情况下,执行的构造函数。

      调用对象的时候会调用主构造方法。

      辅助构造方法必须去调用主构造方法

     1 package er
     2 
     3 class People2(val name:String,val age:Int){
     4   //************辅助构造函数**********
     5   def this(name:String){           //*
     6     this(name,0)                    //*
     7   }                                 //*
     8   def this(age:Int){                //*
     9     this("xx",age)                  //*
    10   }                                 //*
    11   //************辅助构造函数**********
    12   def sayHello()=println("name:"+name+",age:"+age)
    13 }
    14 object thrid {
    15   def main(args: Array[String]): Unit = {
    16     val people=new People2("zhangsan",10);
    17     people.sayHello();
    18   }
    19 
    20 }

    4.效果

      

    二:半生类与半生对象

    1.object的介绍

      

    2.半生类和半生对象

      

    3.半生的案例程序(半生类可以调用半生)

     1 package er
     2 
     3 class Thrid(val name:String,val age:Int){
     4   private val eyeNum:Int=2;
     5   def this(name:String){
     6     this(name,0)
     7   }
     8   def this(age:Int){
     9     this("xx",age)
    10   }
    11   def sayHello()=println("name:"+name+",age:"+age)
    12 }
    13 object Thrid {
    14   def main(args: Array[String]): Unit = {
    15     val thrid=new Thrid("zhangsan");
    16     //直接调用半生类中的属性
    17     println("eyeNum is : "+thrid.eyeNum);
    18   }
    19 
    20 }

    4.效果

      

    5.apply方法

      一种简单的创建class的方式。

      

     6.apply的程序示例

     1 package er
     2 class Four(name:String){
     3   def say()=println("name is "+name);
     4 }
     5 object Four {
     6   def apply(name: String): Four = new Four(name)
     7   def main(args: Array[String]): Unit = {
     8     //因为使用了apply方法,其实apply是在new对象,所以下面就不要再new了
     9     var a=Four("uiui")
    10     a.say
    11   }
    12 }

    7.效果

      

    8.get与set方法

      

    9.不会产生公共的get与set方法

      当权限是private的时候

      

      产生 的set与get方法是private的,只能在类的内部使用。

      

    10.val定义的字段

      val定义的字段,只会生成getter,因为他的值是不会变的。

    11.class中的介绍

      在主构造方法执行的时候,会执行类中的所有语句,除了方法,相当于构造器

      如果参数的声明不带val或者var,那么相当于private,只能在内部使用

      

      

  • 相关阅读:
    docker 修改 bridge网桥网段
    redis 主从 哨兵
    rc.local 启动内容不生效
    bat脚本 定时删除备份的文件
    地址ip丢失
    rabbit MQ 消息队列
    maven mvn 安装介绍
    NodeJS 介绍安装
    ssh
    tomcat增加内存 JVM内存调优
  • 原文地址:https://www.cnblogs.com/juncaoit/p/6254096.html
Copyright © 2020-2023  润新知