5. scala 의 대상

1509 단어
저작권 설명: 전재 출처 를 밝 혀 주세요.글 의 출처:http://bigdataer.net/?p=285
조판 난?원문 을 옮 겨 더 좋 은 읽 기 체험 을 얻 으 세 요.
1. 단일 대상
scala 에는 정적 클래스 나 정적 방법 이 없고 모두 object 를 통 해 이 루어 진 것 으로 특정한 유형의 단일 대상 을 나타 낸다.예 를 들 어 object People 은 class People 의 단일 대상 입 니 다.
2. 동반 대상
자바 의 일부 종 류 는 정적 방법 도 있 고 인 스 턴 스 방법 도 있 을 수 있 습 니 다. scala 에서 정적 방법 은 대상 에 존재 합 니 다. 즉, scala 에 이런 것 이 필요 합 니 다. 이것 은 클래스 이자 대상 도 포함 합 니 다.그 중의 대상 은 바로 유형의 반생 대상 이 고 똑 같이 유형 은 대상 의 반생 류 이다.주의해 야 할 것 은 클래스 와 그 동반 대상 이 서로 개인 속성 에 접근 할 수 있 고 같은 원본 파일 에 도 존재 해 야 한 다 는 것 이다.예:
class People{
 private val name:String = ""
   def run()={
   ……
   }
}

object Peole{
 private var age:Int
   def age(){
   this.age += 1
   }
}

3. apply 방법
apply 방법 을 호출 하 는 것 은 대응 하 는 동반 대상 을 호출 하 는 apply 방법 입 니 다. apply 방법 은 구조 기 를 사용 하 는 것 과 유사 하지만 내장 구조 에서 apply 방법 을 사용 하면 new 를 사용 하지 않 을 수 있 습 니 다.Array ("marry", "alice") 는 사실 Array 류 에 대응 하 는 동반 대상 을 호출 하 는 apply 방법 입 니 다.인 스 턴 스 보기:
class Peopel(salary:Int){
   ……
}

object People{
 def apply(salary:Int):People= {
       new People(salary)
   }
}

val p = People(100) //          apply  

4. 매 거
scala 에는 매 거 진 형식 이 없습니다. 실현 방식 은 Enumeration 을 통 해 매 거 진 을 생산 합 니 다.예 를 들 면:
object ColorEnum extends Enumeration {
 val Red,Green,Yellow = Value //   Value         
   /*   
   val Red = Value
   val Green = Value
   val Yellow = Value
   */
}

더 많은 글 은 위 챗 공식 번호: bigdataer 에 주목 하 세 요.

좋은 웹페이지 즐겨찾기