{"id":37,"date":"2014-07-15T06:21:00","date_gmt":"2014-07-15T06:21:00","guid":{"rendered":"https:\/\/scgindia.in\/lhotsetechnologies\/dev\/2014\/07\/15\/scenario-for-abstract-classes-interfaces-in-java\/"},"modified":"2019-09-19T12:54:40","modified_gmt":"2019-09-19T12:54:40","slug":"scenario-for-abstract-classes-interfaces-in-java","status":"publish","type":"post","link":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/","title":{"rendered":"Scenario for Abstract Classes &#038; Interfaces in Java"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left;\">\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">During java interviews a common question has been asked i.e.<\/span><\/div>\n<div style=\"text-align: justify;\">&nbsp;<\/div>\n<div style=\"text-align: justify;\"><b><i><span style=\"color: #660000;\">Tell us the scenario where we should use Abstract class and where we should use an interface?<\/span><\/i><\/b><\/div>\n<div style=\"text-align: justify;\">&nbsp;<\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">In this post I will explain this question in a easy to understand manner, so lets start.&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">Key Point about Abstract Class &amp; Interface<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><i><span style=\"color: #274e13;\">Both of them are used for&nbsp;generalization&nbsp;&amp; in java abstraction is achieved by both of these two.<\/span><\/i><\/b><\/div>\n<p>&nbsp;<\/p>\n<div style=\"text-align: justify;\"><span style=\"font-weight: bold;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><i><span style=\"color: #274e13;\"><b>&#8220;Abstract classes are used when&nbsp;<\/b><b>behaviour<\/b><b>&nbsp;of different objects are known &amp; interface are used when behaviour of&nbsp;<\/b><\/span><\/i><i><span style=\"color: #274e13;\"><b>different&nbsp;<\/b><\/span><\/i><i><span style=\"color: #274e13;\"><b>objects are not known. Objects belongs to different classes.&#8221;<\/b><\/span><\/i><\/div>\n<p>&nbsp;<\/p>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">Here the term&nbsp;<\/span><b><i><span style=\"color: #660000;\">behaviour means methods definition<\/span><\/i><\/b><span style=\"color: #274e13;\">&nbsp;in a class, but for some time just skip this definition.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">Lets have a look on an example. Let&#8217;s consider three different classes&nbsp;<b>Employee, BusinessMan, Singer.&nbsp;<\/b>All of these are the categories of&nbsp;<b>Person Abstract Class\/ Interface.&nbsp;<\/b>Lets consider these classes&nbsp;having common behaviour&nbsp;i.e.&nbsp;<b>eat(), drink(), sleep().<\/b>&nbsp;i.e. method definition of these methods are same.<\/span><\/div>\n<div style=\"text-align: justify;\">&nbsp;<\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #e06666;\">Note:<i>&nbsp;method definition means inner logic of a method.<\/i><\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">In this case as all of these classes have common behaviour so we can place there definition at one place to avoid code redundancy. This is the scenario where we should use a Abstract class &amp; all sub classes of this Abstract class will get the common definition of these behaviors.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">In terms of coding<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">Create a Abstract&nbsp;class&nbsp;<b>Person<\/b>&nbsp;having a definition for these methods<b>&nbsp;eat(), drink(), sleep()<\/b>&nbsp;as shown<\/span><\/div>\n<div style=\"text-align: justify;\">&nbsp;<\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">abstract class Person{<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp; &nbsp;void eat(){&#8230;}<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp; &nbsp;void sleep(){&#8230;}<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp; &nbsp;void dring(){&#8230;}<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp; &nbsp;&#8230;<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">}<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&amp; now all sub-classes of this abstract class have common definition of these methods and may also have new methods.<\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">ex.&nbsp;<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #660000;\"><b>class&nbsp;<\/b><b>Singer<\/b><b>&nbsp;extends Person{<\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp;&#8230;<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">}<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">same for all other classes.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">Lets have a look on another scenario, consider three different classes&nbsp;<b>Employee, BusinessMan, Singer.&nbsp;<\/b>All of these are the categories of&nbsp;<b>Person Abstract Class\/ Interface.<\/b><\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">All of these classes have a common behaviour&nbsp;<b>income()<\/b>&nbsp; but how they earn it, is different i.e. behaviour name is same but definition changes from person to person. So this is a scenario where we should use interface. By doing this we will have a common behaviour name but able to provide different definition.&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">If we use abstract class in this scenario then code redundancy will take place &amp; it&#8217;s not a good coding practice.&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">In terms of coding, Let&#8217;s create a&nbsp;<b>interface<\/b>&nbsp;named as&nbsp;<b>Person<\/b>&nbsp;having only one method income().<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">interface&nbsp;<\/span><\/b><b><span style=\"color: #660000;\">Person<\/span><\/b><b><span style=\"color: #660000;\">{<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #660000;\"><b>&nbsp; &nbsp;&nbsp;<\/b>&nbsp;void income();<\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">}<\/span><\/b><\/div>\n<p>&nbsp;<\/p>\n<div style=\"text-align: justify;\"><span style=\"font-weight: bold;\"><span style=\"color: #660000;\">&nbsp;<\/span><\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">class Employee implements&nbsp;<\/span><\/b><b><span style=\"color: #660000;\">Person<\/span><\/b><b><span style=\"color: #660000;\">{<\/span><\/b><\/div>\n<p>&nbsp;<\/p>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp;&nbsp;@Override<\/span><\/b><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp; income(){<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp; &#8230;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #660000;\">&nbsp; &nbsp; &nbsp; }<\/span><\/div>\n<div style=\"text-align: justify;\"><b><span style=\"color: #660000;\">}<\/span><\/b><\/div>\n<p>&nbsp;<\/p>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">same for all other classes.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">&nbsp;<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"color: #274e13;\">Now I think the above explanation make sense to you &amp; explain you where we should use Abstract class and where we should use Interfaces.<\/span><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><strong>Happy Coding<\/strong><br \/>\n<strong>Namah Shivay<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>During java interviews a common question has been asked i.e. &nbsp; Tell us the scenario where we should use Abstract [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[132,130,133,131],"tags":[],"class_list":["post-37","post","type-post","status-publish","format-standard","hentry","category-abstract-class","category-interface","category-scenario-for-abstract-class","category-scenario-for-interface-in-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scenario for Abstract Classes &amp; Interfaces in Java - AEM Blog | Lhotse Technologies<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scenario for Abstract Classes &amp; Interfaces in Java - AEM Blog | Lhotse Technologies\" \/>\n<meta property=\"og:description\" content=\"During java interviews a common question has been asked i.e. &nbsp; Tell us the scenario where we should use Abstract [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"AEM Blog | Lhotse Technologies\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-15T06:21:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-19T12:54:40+00:00\" \/>\n<meta name=\"author\" content=\"Team Lhotse\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Team Lhotse\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/\"},\"author\":{\"name\":\"Team Lhotse\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d\"},\"headline\":\"Scenario for Abstract Classes &#038; Interfaces in Java\",\"datePublished\":\"2014-07-15T06:21:00+00:00\",\"dateModified\":\"2019-09-19T12:54:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/\"},\"wordCount\":549,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\"},\"articleSection\":[\"Abstract Class\",\"Interface\",\"Scenario for Abstract Class\",\"Scenario for Interface in java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/\",\"name\":\"Scenario for Abstract Classes & Interfaces in Java - AEM Blog | Lhotse Technologies\",\"isPartOf\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#website\"},\"datePublished\":\"2014-07-15T06:21:00+00:00\",\"dateModified\":\"2019-09-19T12:54:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lhotsetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scenario for Abstract Classes &#038; Interfaces in Java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/\",\"name\":\"AEM Blog | Lhotse Technologies\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lhotsetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\",\"name\":\"AEM Blog | Lhotse Technologies\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png\",\"contentUrl\":\"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png\",\"width\":539,\"height\":172,\"caption\":\"AEM Blog | Lhotse Technologies\"},\"image\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d\",\"name\":\"Team Lhotse\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"Team Lhotse\"},\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/author\/team-lhotse\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scenario for Abstract Classes & Interfaces in Java - AEM Blog | Lhotse Technologies","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:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Scenario for Abstract Classes & Interfaces in Java - AEM Blog | Lhotse Technologies","og_description":"During java interviews a common question has been asked i.e. &nbsp; Tell us the scenario where we should use Abstract [&hellip;]","og_url":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/","og_site_name":"AEM Blog | Lhotse Technologies","article_published_time":"2014-07-15T06:21:00+00:00","article_modified_time":"2019-09-19T12:54:40+00:00","author":"Team Lhotse","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Team Lhotse","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#article","isPartOf":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/"},"author":{"name":"Team Lhotse","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d"},"headline":"Scenario for Abstract Classes &#038; Interfaces in Java","datePublished":"2014-07-15T06:21:00+00:00","dateModified":"2019-09-19T12:54:40+00:00","mainEntityOfPage":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/"},"wordCount":549,"commentCount":0,"publisher":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization"},"articleSection":["Abstract Class","Interface","Scenario for Abstract Class","Scenario for Interface in java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/","url":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/","name":"Scenario for Abstract Classes & Interfaces in Java - AEM Blog | Lhotse Technologies","isPartOf":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#website"},"datePublished":"2014-07-15T06:21:00+00:00","dateModified":"2019-09-19T12:54:40+00:00","breadcrumb":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/lhotsetechnologies.com\/blog\/scenario-for-abstract-classes-interfaces-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lhotsetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Scenario for Abstract Classes &#038; Interfaces in Java"}]},{"@type":"WebSite","@id":"https:\/\/lhotsetechnologies.com\/blog\/#website","url":"https:\/\/lhotsetechnologies.com\/blog\/","name":"AEM Blog | Lhotse Technologies","description":"","publisher":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lhotsetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization","name":"AEM Blog | Lhotse Technologies","url":"https:\/\/lhotsetechnologies.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png","contentUrl":"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png","width":539,"height":172,"caption":"AEM Blog | Lhotse Technologies"},"image":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/fd7bee89b050d7c7195fc75b681b053d","name":"Team Lhotse","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"Team Lhotse"},"url":"https:\/\/lhotsetechnologies.com\/blog\/author\/team-lhotse\/"}]}},"_links":{"self":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":1,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":188,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/37\/revisions\/188"}],"wp:attachment":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}