তিনটি ফর্মই বৈধ, এবং ক্লাসের B
ধরণ হিসাবে ধরা হয় এমন প্রভাব রয়েছে ।this
A
প্রথম দুটি রূপ ts
trait A { self: B => ... }
trait A { foo: B => ... }
self
(যথাক্রমে foo
) this
বৈশিষ্ট হিসাবে পরিচয় করিয়ে দিন A
। এটি this
অভ্যন্তরীণ শ্রেণীর থেকে রেফারেন্স অ্যাক্সেসের জন্য দরকারী । অর্থাৎ এরপরে আপনি কোনও শ্রেণীর কাছাকাছি থাকা বৈশিষ্ট্যের রেফারেন্সটি অ্যাক্সেস করার self
পরিবর্তে ব্যবহার করতে পারেন । উদাহরণ:A.this
this
A
class MyFrame extends JFrame { frame =>
getContentPane().add( new JButton( "Hide" ) {
addActionListener( new ActionListener {
def actionPerformed( e: ActionEvent ) {
// this.setVisible( false ) --> shadowed by JButton!
frame.setVisible( false )
}
})
})
}
তৃতীয় রূপ,
trait A { this: B => ... }
জন্য একটি উপকরণ পরিচয় করিয়ে দেয় না this
; এটি কেবল স্ব-ধরণের সেট করে।