Home » Scala language

Access modifiers in Scala

Access modifiers in Scala: In this tutorial, we are going to learn about the various access modifiers in Scala programming language.
Submitted by Shivang Yadav, on June 17, 2019

Access modifiers are used in order to restrict the usage of a member function to a class or a package. Using access modifiers data hiding takes place which is a very important concept of OOPs.

The access to a class, object or a package can be restricted by the use of three types of access modifiers that are 1) public (accessible to everyone), 2) private (accessible only in the class), and 3) protected (accessible to class and its subclasses).

1) Public access modifier

It is the default type of modifier in Scala. In Scala, if you do not use any access modifier then the member is public. Public members can be accessed from anywhere.

Syntax:

    def function_name(){}
    or 
    public def fuction_name(){}

2) Private access modifier

In private access, access to the private member is provided only to other members of the class (block). It any call outside the class is treated as an error.

Syntax:

    private def function_name(){}

3) Protected access modifier

In protected access, the availability of the member function is limited to the same class and its subclass. Excess without inheritance is treated as an error.

Syntax:

    protected def function_name(){}

Scala example to demonstrate use of public, private and protected access modifiers

class school(rlno: Int , sname : String ,sch_no : Int) {
	//roll no can only be used by school or its subclasses
	protected  var rollno = rlno; 
	var name = sname;
	// this variable is only for the class
	private var scholar=sch_no; 
}
class seventh extends school {
	def dispaly(){
		// public and private member are used...
		print("Roll no of " + name + " is " + rollno) 
	}
}





Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.
Learn PCB Designing: PCB DESIGNING TUTORIAL




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing » Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.