{"id":8399,"date":"2021-04-24T11:25:56","date_gmt":"2021-04-24T11:25:56","guid":{"rendered":"https:\/\/prwatech.in\/blog\/?p=8399"},"modified":"2024-04-13T08:58:37","modified_gmt":"2024-04-13T08:58:37","slug":"scala-method-overriding","status":"publish","type":"post","link":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/","title":{"rendered":"Scala &#8211; Method Overriding"},"content":{"rendered":"\r\n<h2><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Method Overriding in Scala&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:6145,&quot;3&quot;:{&quot;1&quot;:0,&quot;3&quot;:1},&quot;14&quot;:{&quot;1&quot;:3,&quot;3&quot;:1},&quot;15&quot;:&quot;Arial&quot;}\">Method Overriding in Scala<\/span><\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>In <a href=\"https:\/\/prwatech.in\/blog\/scala\/scala-a-quick-overview\/\">scala<\/a> we can redefine the same method to do <a href=\"http:\/\/scala-lang.org\">different <\/a>operations but with the same method name, this concept is called <strong>Method Overriding.<\/strong><\/p>\r\n\r\n\r\n\r\n<p><strong>scala<\/strong> uses <strong>override<\/strong> modifier to override method from super class to sub class in the same code.<\/p>\r\n<p>\u00a0In Scala, method overriding is achieved using the <code>override<\/code> keyword, which indicates that a method in a subclass is intended to override a method with the same signature in its superclass.<\/p>\r\n<p>Scala also supports dynamic method dispatch, where the method implementation to be invoked is determined at runtime based on the actual type of the object. This enables polymorphic behavior, where different implementations of the same method can be execut depending on the runtime type of the object.<\/p>\r\n<p>Understanding method overriding in Scala is fundamental for building flexible and modular object-oriented designs, enabling code reuse, and supporting polymorphism and subtype polymorphism concepts effectively within Scala applications.<\/p>\r\n\r\n\r\n\r\n<h4><strong>use case 1:<\/strong><\/h4>\r\n\r\n\r\n\r\n<p>scala&gt; class Prwa(val name: String) {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 override def toString = getClass.getName + &#8220;[name=&#8221; + name + &#8220;]&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<p>scala&gt; class Edu(codename: String) extends Prwa(codename) {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 override val name = &#8220;Edu&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 override val toString = &#8220;Edu&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"598\" height=\"182\" class=\"wp-image-8400\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png 598w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69-300x91.png 300w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>use case 2:<\/strong><\/p>\r\n\r\n\r\n\r\n<p>scala&gt; class animal(val name: String) {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 \u00a0 override def toString = getClass.getName + &#8220;[name=&#8221; + name + &#8220;]&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<p>scala&gt; class wild(codename: String) extends animal(codename) {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 override val name = &#8220;wild&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 override val toString = &#8220;wild&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"601\" height=\"176\" class=\"wp-image-8401\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-70.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-70.png 601w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-70-300x88.png 300w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>use case 3:<\/strong><\/p>\r\n\r\n\r\n\r\n<p>scala&gt; class fruit(val name: String) {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 \u00a0 override def toString = getClass.getName + &#8220;[name=&#8221; + name + &#8220;]&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<p>scala&gt; class Mango(codename: String) extends fruit(codename) {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 override val name = &#8220;Mango&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 override val toString = &#8220;Mango&#8221;<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"171\" class=\"wp-image-8402\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-71.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-71.png 597w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-71-300x86.png 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/figure>\r\n","protected":false},"excerpt":{"rendered":"<p>Method Overriding in Scala &nbsp; In scala we can redefine the same method to do different operations but with the same method name, this concept is called Method Overriding. scala uses override modifier to override method from super class to sub class in the same code. \u00a0In Scala, method overriding is achieved using the override [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[565,1698],"tags":[1118,1125,1120,1124,1123,1119,1121,1126,1127,1122],"class_list":["post-8399","post","type-post","status-publish","format-standard","hentry","category-scala","category-scala-modules-scala","tag-method-overriding","tag-method-overriding-examples-in-scala","tag-method-overriding-in-scala","tag-method-overriding-usecases","tag-redefine-same-method-in-scala","tag-scala-method-overriding","tag-scala-method-overriding-concepts","tag-scala-overriding-method","tag-scala-overriding-method-examples","tag-scala-usecases-of-method-overriding"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Method Overriding in Scala - Prwatech<\/title>\n<meta name=\"description\" content=\"Master Method Overriding in Scala - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Method Overriding in Scala - Prwatech\" \/>\n<meta property=\"og:description\" content=\"Master Method Overriding in Scala - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/\" \/>\n<meta property=\"og:site_name\" content=\"Prwatech\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prwatech.in\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-24T11:25:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-13T08:58:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png\" \/>\n<meta name=\"author\" content=\"Prwatech\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Eduprwatech\" \/>\n<meta name=\"twitter:site\" content=\"@Eduprwatech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prwatech\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/\",\"url\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/\",\"name\":\"Method Overriding in Scala - Prwatech\",\"isPartOf\":{\"@id\":\"https:\/\/prwatech.in\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png\",\"datePublished\":\"2021-04-24T11:25:56+00:00\",\"dateModified\":\"2024-04-13T08:58:37+00:00\",\"author\":{\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3\"},\"description\":\"Master Method Overriding in Scala - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.\",\"breadcrumb\":{\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#primaryimage\",\"url\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png\",\"contentUrl\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png\",\"width\":598,\"height\":182},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/prwatech.in\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scala &#8211; Method Overriding\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/prwatech.in\/blog\/#website\",\"url\":\"https:\/\/prwatech.in\/blog\/\",\"name\":\"Prwatech\",\"description\":\"Share Ideas, Start Something Good.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/prwatech.in\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3\",\"name\":\"Prwatech\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g\",\"caption\":\"Prwatech\"},\"url\":\"https:\/\/prwatech.in\/blog\/author\/prwatech123\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Method Overriding in Scala - Prwatech","description":"Master Method Overriding in Scala - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Method Overriding in Scala - Prwatech","og_description":"Master Method Overriding in Scala - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.","og_url":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/","og_site_name":"Prwatech","article_publisher":"https:\/\/www.facebook.com\/prwatech.in\/","article_published_time":"2021-04-24T11:25:56+00:00","article_modified_time":"2024-04-13T08:58:37+00:00","og_image":[{"url":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png","type":"","width":"","height":""}],"author":"Prwatech","twitter_card":"summary_large_image","twitter_creator":"@Eduprwatech","twitter_site":"@Eduprwatech","twitter_misc":{"Written by":"Prwatech","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/","url":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/","name":"Method Overriding in Scala - Prwatech","isPartOf":{"@id":"https:\/\/prwatech.in\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#primaryimage"},"image":{"@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#primaryimage"},"thumbnailUrl":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png","datePublished":"2021-04-24T11:25:56+00:00","dateModified":"2024-04-13T08:58:37+00:00","author":{"@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3"},"description":"Master Method Overriding in Scala - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.","breadcrumb":{"@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#primaryimage","url":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png","contentUrl":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-69.png","width":598,"height":182},{"@type":"BreadcrumbList","@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-method-overriding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prwatech.in\/blog\/"},{"@type":"ListItem","position":2,"name":"Scala &#8211; Method Overriding"}]},{"@type":"WebSite","@id":"https:\/\/prwatech.in\/blog\/#website","url":"https:\/\/prwatech.in\/blog\/","name":"Prwatech","description":"Share Ideas, Start Something Good.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prwatech.in\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3","name":"Prwatech","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g","caption":"Prwatech"},"url":"https:\/\/prwatech.in\/blog\/author\/prwatech123\/"}]}},"_links":{"self":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/8399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/comments?post=8399"}],"version-history":[{"count":4,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/8399\/revisions"}],"predecessor-version":[{"id":11427,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/8399\/revisions\/11427"}],"wp:attachment":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/media?parent=8399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/categories?post=8399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/tags?post=8399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}