Scala 學習筆記三 物件導向

2021-08-30 21:31:14 字數 2342 閱讀 8062

一、物件導向的概 (object oriented——oo)

1.封裝: 將屬性、方法封裝到類中

2.繼承: 父類和子類之間的關係

3.多型: 父類引用指向子類物件

多型是物件導向程式設計的精髓所在,是開發框架的基礎

二、類的定義和使用

//main方法

def main(args: array[string]): unit =

//定義乙個person類

class person

def eat: string =

def info: unit =

}結果:

messi eat...

messi 10 male

messi watching race of mexico

三、主構造器和附屬構造器

附屬構造器的第一行必須要呼叫主構造器

//main方法

def main(args: array[string]): unit =

//主構造器

class person(val name:string,val age:int)

}結果:

person constructor start…

person constructor stop…

23 nina neu null

person constructor start…

person constructor stop…

nina 23 neu female

四、繼承extends和重寫override

//main方法

def main(args: array[string]): unit =

//定義乙個student類,繼承person類

//繼承父類的引數可以不用var/val定義,但該類新有的引數需要使用var/val來定義,如下面的major屬性

class student(name:string,age:int,var major:string) extends person(name,age)

println("student constructor stop…")

}結果:

person constructor start…

person constructor stop…

student constructor start…

student constructor stop…

nina 23 computor

五、抽象類abstract

抽象類是指:類中乙個或多個方法沒有完整的實現(只有定義,沒有實現)

//main方法

def main(args: array[string]): unit =

//定義乙個抽象類

abstract class people

//定義乙個類,繼承該抽象類,並實現所有屬性和方法

class student extends people

override var name: string = _

override var age: int = _

}結果:

nina 23

speak……

六、伴生類和伴生物件

如果有乙個class,還有乙個與class同名的object

那麼就成這個object是class的伴生物件,class是object的伴生類

1.直接類名. 便可以訪問object中的方法和屬性

def main(args: array[string]): unit =

}//伴生類

}//伴生物件

var count=0

def incu: unit =

}結果:10

def main(args: array[string]): unit =

} }

} }

}結果:

def main(args: array[string]): unit =

} }

} }

}結果:

八、case class

case class 不用new,直接可以使用,通常用在模式匹配中

def main(args: array[string]): unit =

}case class dog(name:string)

結果:wangcai

九、trait

*** extends … with … with… 實現的第乙個介面用extends,之後的用with…

實驗三 物件導向初步

1 實驗目的 1 學習如何宣告和編寫類的 2 學習如何編寫改變類的屬性的成員函式。3 學習如何宣告和建立物件,如何通過物件呼叫類的成員函式。2 實驗內容 2.1 設計point類 40分 1 問題描述 計算機的顯示屏的座標系是這樣的,左上角的座標為 0,0 如下圖所示。定義計算機顯示屏上的點poin...

JavaSE(三) 物件導向(1) 物件導向簡介

物件導向算是一種比較新的軟體設計的方法,在沒有物件導向之前使用的是面向過程 是針對於乙個問題解決問題,如果修改的話,則整個設計都要修改 物件導向是針對於一類問題來進行解決,某一區域性的修改不影響其他位置的變化。在物件導向中主要分為以下三個方面 ooa 物件導向分析。ood 物件導向設計,根據分析的結...

apply方法 Scala學習筆記 物件導向篇

剛入門scala時,發現scalal中很少使用new來產生物件,比如我們在使用array的時候 val array array int array 1,2,3,4,5,6,7,8,9 class test object test接下來我們執行 val test test test.speak結果會輸...