065_面向对象编程介绍和入门案例

1616913370505

1616913430797

Scala语言是面向对象的

1616913476832

Scala把静态方法 和 null 都改成了面向对象

这样就纯纯面向对象了

1616913542459

package com.atguigu.chapter06.oop

object CatDemo {
  def main(args: Array[String]): Unit = {

    //创建一只猫
    val cat = new Cat
    //给猫的属性赋值

    //说明
    //1. cat.name = "小白" 其实不是直接访问属性,而是  cat.name_$eq("小白")
    //2. cat.name 等价于 cat.name()
    cat.name = "小白" //等价
    cat.age = 10
    cat.color = "白色"
    println("ok~")
    printf("\n小猫的信息如下: %s %d %s", cat.name, cat.age, cat.color)
  }
}

//定义一个类Cat
//一个class Cat 对应的字节码文件只有一个 Cat.class ,默认是public
class Cat {
  //定义/声明三个属性
  //说明
  //1. 当我们声明了 var name :String时, 在底层对应 private name
  //2. 同时会生成 两个public方法 name() <=类似=> getter  public name_$eq() => setter
  var name: String = "" //给初始值
  var age: Int = _ // _ 表示给age 一个默认的值 ,如果Int 默认就是0
  var color: String = _ // _ 给 color 默认值,如果String ,默认是就是""
}

/*
public class Cat
{
  private String name = "";
  private int age;
  private String color;

  public String name()
  {
    return this.name; }
  public void name_$eq(String x$1) { this.name = x$1; }
  public int age() { return this.age; }
  public void age_$eq(int x$1) { this.age = x$1; }
  public String color() { return this.color; }
  public void color_$eq(String x$1) { this.color = x$1; }

}
 */

class Dog {
  var name = "jack"
  var lover = new Fish
}

class Fish {

}


results matching ""

    No results matching ""