{"id":25849,"date":"2022-12-13T18:32:52","date_gmt":"2022-12-13T13:02:52","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/"},"modified":"2022-12-13T18:32:52","modified_gmt":"2022-12-13T13:02:52","slug":"solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/","title":{"rendered":"[Solved] Object in one class is the instance variable in the other. Relation between those classes?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-17907832\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"17907832\" data-parentid=\"17907329\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>The two classes are certainly related i.e. they have an <strong><em>Association<\/em><\/strong>. But, the nature of their relationship could either be an <em>Aggregation<\/em> or <em>Composition<\/em>. To give you an example and thereby explain how it&#8217;s different than <em>Inheritance<\/em>; consider the following classes:<\/p>\n<ul>\n<li><code>Shape<\/code> (Base class; can be <em>abstract<\/em>)<\/li>\n<li><code>Circle<\/code>, <code>Triangle<\/code>, <code>Square<\/code> etc. (Derived classes)<\/li>\n<li><code>Line<\/code>, <code>Colour<\/code> (Classes used in <em>aggregation<\/em> or <em>composition<\/em>)<\/li>\n<\/ul>\n<p>Any of the derived classes: <code>Circle<\/code>, <code>Triangle<\/code>, <code>Square<\/code> <strong>&#8220;IS-A&#8221;<\/strong> <code>Shape<\/code> as well. This is <strong><em>Inheritance<\/em><\/strong> where the subclass like <em><code>Circle extends Shape<\/code><\/em> superclass. All <em>public<\/em> &amp; <em>protected<\/em> attributes (like <em>area<\/em>) and behaviour (say, <em><code>move()<\/code><\/em>) are inherited and accessible to the child classes.<\/p>\n<p>Now, each of these shapes would be composed of <code>Line<\/code>(s) and would have a <code>Colour<\/code> i.e. actual instance of these classes would be present as <em>attributes (properties)<\/em> inside the shape class objects.<\/p>\n<p>This is known as a <strong>&#8220;HAS-A&#8221;<\/strong> relationship because a <code>Shape<\/code>, say, a <code>Square<\/code> <em>has-a<\/em> <code>Colour<\/code> and four <code>Line<\/code>(s). This relationship can be further observed in the following two forms:<\/p>\n<ul>\n<li>\n<p><strong><em>Aggregation<\/em><\/strong> (is a directional association)<br \/>\nHere, <code>Shape<\/code> subclasses and <code>Colour<\/code> have an aggregation. This relationship is <strong><em>many-to-one<\/em><\/strong> i.e. a shape can have only one colour and one or more shapes can have the same colour.<\/p>\n<\/li>\n<li>\n<p><strong><em>Composition<\/em><\/strong> (is a stronger form of aggregation)<br \/>\nHere, <code>Shape<\/code> subclasses and <code>Line<\/code>(s) have a <strong><em>one-to-many<\/em><\/strong> composition. The difference is that the lifetime of a contained object is dependent on its container.<\/p>\n<\/li>\n<\/ul>\n<p>For example, if a <code>Triangle<\/code> is destroyed, it&#8217;s <code>Line<\/code>(s) get destroyed as well. On the other hand, if it was painted red, the corresponding <code>Colour<\/code> object still remains alive since as part of a <em>many-to-one<\/em> relationship it may possibly be referenced by other shape objects as well.<\/p>\n<p><strong><em>References<\/em><\/strong> :<br \/>\n<a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/Has-a\">Has-A relationships (Wikipedia)<\/a><br \/>\n<a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/Composition_over_inheritance\">Composition over Inheritance (Wikipedia)<\/a><br \/>\nPrefer composition over inheritance? (StackOverflow)<br \/>\n<a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.garrypassarella.co.uk\/2012\/10\/05\/aggregation-vs-composition-vs-inheritance-vs-association-vs-dependency\/\">Aggregation vs Composition vs Inheritance vs Association vs Dependency<\/a><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Object in one class is the instance variable in the other. Relation between those classes? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] The two classes are certainly related i.e. they have an Association. But, the nature of their relationship could either be an Aggregation or Composition. To give you an example and thereby explain how it&#8217;s different than Inheritance; consider the following classes: Shape (Base class; can be abstract) Circle, Triangle, Square etc. (Derived classes) Line, &#8230; <a title=\"[Solved] Object in one class is the instance variable in the other. Relation between those classes?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/\" aria-label=\"More on [Solved] Object in one class is the instance variable in the other. Relation between those classes?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[323],"class_list":["post-25849","post","type-post","status-publish","format-standard","hentry","category-solved","tag-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] Object in one class is the instance variable in the other. Relation between those classes? - JassWeb<\/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:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Object in one class is the instance variable in the other. Relation between those classes? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] The two classes are certainly related i.e. they have an Association. But, the nature of their relationship could either be an Aggregation or Composition. To give you an example and thereby explain how it&#8217;s different than Inheritance; consider the following classes: Shape (Base class; can be abstract) Circle, Triangle, Square etc. (Derived classes) Line, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-13T13:02:52+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\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\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Object in one class is the instance variable in the other. Relation between those classes?\",\"datePublished\":\"2022-12-13T13:02:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/\"},\"wordCount\":315,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"java\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/\",\"name\":\"[Solved] Object in one class is the instance variable in the other. Relation between those classes? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-12-13T13:02:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Object in one class is the instance variable in the other. Relation between those classes?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Object in one class is the instance variable in the other. Relation between those classes? - JassWeb","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:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Object in one class is the instance variable in the other. Relation between those classes? - JassWeb","og_description":"[ad_1] The two classes are certainly related i.e. they have an Association. But, the nature of their relationship could either be an Aggregation or Composition. To give you an example and thereby explain how it&#8217;s different than Inheritance; consider the following classes: Shape (Base class; can be abstract) Circle, Triangle, Square etc. (Derived classes) Line, ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/","og_site_name":"JassWeb","article_published_time":"2022-12-13T13:02:52+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Object in one class is the instance variable in the other. Relation between those classes?","datePublished":"2022-12-13T13:02:52+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/"},"wordCount":315,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["java"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/","url":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/","name":"[Solved] Object in one class is the instance variable in the other. Relation between those classes? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-13T13:02:52+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-object-in-one-class-is-the-instance-variable-in-the-other-relation-between-those-classes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Object in one class is the instance variable in the other. Relation between those classes?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/25849","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=25849"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/25849\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=25849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=25849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=25849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}