2つのファイルがあるとします。スカラクラス:新しいインスタンスの作成中にパラメータを避ける
- myMainApplication.scala
- printInfos.scala
簡単に言えばmyMainApplication.scalaは私のクラスmyMainApplication.scalaを作成することにより、名前と年齢をプリントアウトする必要があり
val name = "blah"
val age= 45
簡単に説明が含まれています新しいprintInfosインスタンス。しかし、私はインスタンスを作成する際にパラメータを追加するべきではありません。
私は避けたいもの:
インサイドprintInfos.scala
class printInfos(val myName: String,
val myAge: Int
val myLoc: String
val myNPP: Double
val myCountry: String
val myProvice: String
val myNPAP: String) {
def printInfos() = {
println("Your method printInfos print out" + myName + myAge + myLoc + myNPP + myCountry + myProvice + myNPAP)
}
}
インサイドmyMainApplication.scala
val name = "blah"
val age= 45
val loc = "blah"
val npp = 45.5
val country = "germany"
val province = "bayern"
val npap = "blaha"
// want to avoid to enter so many params
val printInfoInstance = new printInfos(name, age, loc, npp, country, province, npap)
printInfoInstance.printInfos()
を私はsomethiを取得したいと思い同様のNG:
インサイドprintInfos.scala
class printInfos() {
var myName: String = 0
var myAge: Int = 0
var myLoc: String = 0
var myNPP: Double = 0
var myCountry: String = 0
var myProvice: String = 0
var myNPAP: String = 0
def printInfos() = {
println("Your method printInfos print out" + myName + myAge + myLoc + myNPP + myCountry + myProvice + myNPAP)
}
}
インサイドmyMainApplication.scala
// want to create new instance with no params at begining
val printInfoInstance = new printInfos()
val name = "blah"
printInfoInstance.myName() = name
val age= 45
printInfoInstance.myAge() = age
val loc = "blah"
printInfoInstance.myLoc() = loc
val npp = 45.5
printInfoInstance.myNPP() = npp
val country = "germany"
printInfoInstance.myCountry() = country
val province = "bayern"
printInfoInstance.myProvice() = province
val npap = "blaha"
printInfoInstance.myNPAP() = npap
printInfoInstance.printInfos
を改善
探して、sを取得することは可能であろう2番目の提案と似ていますが、の使用を避けてください。?しかし、最終的な目的は、新しいイントランスを作成するときに多くのパラメータを追加することを避けることです。
これは役立つかもしれません:http://docs.scala-lang.org/tutorials/tour/default-parameter-values.html – maasg