

{"id":14924,"date":"2018-05-10T04:39:30","date_gmt":"2018-05-10T04:39:30","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=14924"},"modified":"2021-12-04T10:15:45","modified_gmt":"2021-12-04T04:45:45","slug":"scala-object-oriented-programming","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/","title":{"rendered":"Scala Object Oriented Programming | Scala Tutorial"},"content":{"rendered":"<p><span style=\"font-weight: 400\">In our last Scala tutorial, we discussed <strong><a href=\"https:\/\/data-flair.training\/blogs\/scala-list\/\">Scala Lists with an example.<\/a><\/strong> Now you have a good understanding of Scala. In this <strong><a href=\"https:\/\/data-flair.training\/blogs\/scala-tutorial-comprehensive-guide\/\">Scala tutorial<\/a><\/strong>, we will discuss Scala Object Oriented Programming. Moreover, we are going to learn Scala Class, Scala Objects, Scala examples. Lastly, we will discuss Anonymous Object.<\/span><\/p>\n<p>So, let&#8217;s begin Scala Object Oriented Programming.<\/p>\n<h3>Scala Object Oriented Programming<\/h3>\n<p><span style=\"font-weight: 400\">As we know, Scala is purely object-oriented. This means we can create classes and then objects from those classes. Now, let\u2019s see what classes and objects are.<\/span><\/p>\n<h3>Scala Class<\/h3>\n<p><span style=\"font-weight: 400\">Think of a class like a blueprint for all objects of its kind. In other words, it is a collection of objects of the same kind.<\/span><br \/>\n<span style=\"font-weight: 400\">A class may hold the following members:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Data members<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Member methods<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Constructors<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Blocks<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Nested classes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Information about the superclass<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">..and more.<\/span><br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/scala-operator\/\">Let&#8217;s explore Scala operator<\/a><\/strong><br \/>\n<span style=\"font-weight: 400\">In Scala, we must initialize all instance variables. Also, the access scope is public by default. We define the main method in an object. This is where the execution of the program begins.<\/span><\/p>\n<h3>Scala Objects<\/h3>\n<p><span style=\"font-weight: 400\">Moving on to objects, if a class is a blueprint, objects are prototypes of that blueprint. An object is essentially a real-world entity with state and behaviour. An object\u2019s state is its data values at any point in time. Its behaviour is the functionality it performs.<\/span><br \/>\n<span style=\"font-weight: 400\">So, Scala object is an instance of a class and is a runtime entity. For a class fruit, an Orange can be an object.<\/span><\/p>\n<h3>Scala Examples<\/h3>\n<p><span style=\"font-weight: 400\">Let\u2019s take an example of Scala Class.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; class car{\r\n    | var fuel:Float=0\r\n    | var color:String=\"Black\"\r\n    | }<\/pre>\n<p>Defined class car<br \/>\n<span style=\"font-weight: 400\">Now, let\u2019s declare an object for this.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; var Brio=new car()\r\nBrio: car = car@7645b7d<\/pre>\n<h3>Example- with a Constructor<\/h3>\n<p><span style=\"font-weight: 400\">Let\u2019s take another example. This time we\u2019ll use a primary constructor to initialize values.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; class person(SSN:Int,Name:String){\r\n    | def sayhi(){\r\n    | println(\"I'm \"+Name+\" and my Social Security Number is \"+SSN)\r\n    | }\r\n    | }<\/pre>\n<p>Defined class person<br \/>\n<a href=\"https:\/\/data-flair.training\/blogs\/scala-string-method\/\"><strong>Scala String Method with Syntax and Method<\/strong><\/a><br \/>\n<span style=\"font-weight: 400\">Now, we create an object for this.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; val Ayushi=new person(798798,\"Ayushi Sharma\")\r\nAyushi: person = person@73a116d\r\n<\/pre>\n<p><span style=\"font-weight: 400\">And finally, we call the method sayhi() on this.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; Ayushi.sayhi()<\/pre>\n<p><span style=\"font-weight: 400\">I&#8217;m Ayushi Sharma and my Social Security Number is 798798.<\/span><\/p>\n<h3>Scala Anonymous Objects<\/h3>\n<p><span style=\"font-weight: 400\">When we want to work with an object that we won\u2019t need to use again, we can declare it anonymously.<\/span><br \/>\n<span style=\"font-weight: 400\">Let\u2019s define a new class to say Hi.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; class A{\r\n    | def sayhi(){\r\n    | println(\"Hi\")\r\n    | }\r\n    | }<\/pre>\n<p><span style=\"font-weight: 400\">Defined class A<\/span><br \/>\n<span style=\"font-weight: 400\">Now, we create an anonymous object of this and call sayhi() on it.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; new A().sayhi()\r\nHi<\/pre>\n<p>So, this was all about Scala Object Oriented Programming. Hope you like our explanation.<\/p>\n<h3>Conclusion<\/h3>\n<p><span style=\"font-weight: 400\">Now that we\u2019re done with the basics of Scala Object Oriented Programming. Hence, in this article, we have discussed Scala Object Oriented Programming, Scala Class, Scala examples. At last, we saw how to create an anonymous object. Furthermore, if you have any query, feel free to ask in the comment section.<\/span><\/p>\n<p><strong><a href=\"https:\/\/www.scala-exercises.org\/scala_tutorial\/object_oriented_programming\">For reference<\/a><\/strong><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1954,&quot;href&quot;:&quot;https:\\\/\\\/www.scala-exercises.org\\\/scala_tutorial\\\/object_oriented_programming&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20250524161349\\\/https:\\\/\\\/www.scala-exercises.org\\\/scala_tutorial\\\/object_oriented_programming&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-10 13:22:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-14 08:18:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-18 17:15:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-07 06:45:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-17 17:25:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-31 22:46:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 05:29:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-28 04:39:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 10:16:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 11:04:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 19:37:17&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-26 09:11:03&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-05 15:34:53&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-09 23:36:28&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-20 08:33:09&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-02 14:02:14&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-06 07:54:51&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-13 08:32:58&quot;,&quot;http_code&quot;:503}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-13 08:32:58&quot;,&quot;http_code&quot;:503},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our last Scala tutorial, we discussed Scala Lists with an example. Now you have a good understanding of Scala. In this Scala tutorial, we will discuss Scala Object Oriented Programming. Moreover, we are&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":14926,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[719,9185,12389,12410,12411,12508],"class_list":["post-14924","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scala","tag-anonymous-object","tag-object-oriented","tag-scala","tag-scala-class","tag-scala-class-example","tag-scala-object"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scala Object Oriented Programming | Scala Tutorial - DataFlair<\/title>\n<meta name=\"description\" content=\"Scala Object Oriented programming, Scala Class, Scala Object, Scala Class example, How to create an anonymous object in Scala,example with Scala constructor\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scala Object Oriented Programming | Scala Tutorial - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Scala Object Oriented programming, Scala Class, Scala Object, Scala Class example, How to create an anonymous object in Scala,example with Scala constructor\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-10T04:39:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-04T04:45:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Scala-Classes-and-Objects-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scala Object Oriented Programming | Scala Tutorial - DataFlair","description":"Scala Object Oriented programming, Scala Class, Scala Object, Scala Class example, How to create an anonymous object in Scala,example with Scala constructor","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/","og_locale":"en_US","og_type":"article","og_title":"Scala Object Oriented Programming | Scala Tutorial - DataFlair","og_description":"Scala Object Oriented programming, Scala Class, Scala Object, Scala Class example, How to create an anonymous object in Scala,example with Scala constructor","og_url":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-05-10T04:39:30+00:00","article_modified_time":"2021-12-04T04:45:45+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Scala-Classes-and-Objects-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Scala Object Oriented Programming | Scala Tutorial","datePublished":"2018-05-10T04:39:30+00:00","dateModified":"2021-12-04T04:45:45+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/"},"wordCount":450,"commentCount":2,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Scala-Classes-and-Objects-01.jpg","keywords":["anonymous object","Object Oriented","scala","Scala Class","Scala Class example","Scala Object"],"articleSection":["Scala Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/","url":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/","name":"Scala Object Oriented Programming | Scala Tutorial - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Scala-Classes-and-Objects-01.jpg","datePublished":"2018-05-10T04:39:30+00:00","dateModified":"2021-12-04T04:45:45+00:00","description":"Scala Object Oriented programming, Scala Class, Scala Object, Scala Class example, How to create an anonymous object in Scala,example with Scala constructor","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Scala-Classes-and-Objects-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Scala-Classes-and-Objects-01.jpg","width":1200,"height":628,"caption":"Scala Object Oriented Programming"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/scala-object-oriented-programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Scala Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/scala\/"},{"@type":"ListItem","position":3,"name":"Scala Object Oriented Programming | Scala Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=14924"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14924\/revisions"}],"predecessor-version":[{"id":104770,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14924\/revisions\/104770"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/14926"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=14924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=14924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=14924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}