[{"data":1,"prerenderedAt":193},["ShallowReactive",2],{"term-i\u002Finheritance":3,"related-i\u002Finheritance":179},{"id":4,"title":5,"acronym":6,"body":7,"category":160,"description":161,"difficulty":162,"extension":163,"letter":164,"meta":165,"navigation":166,"path":167,"related":168,"seo":173,"sitemap":174,"stem":177,"subcategory":6,"__hash__":178},"terms\u002Fterms\u002Fi\u002Finheritance.md","Inheritance",null,{"type":8,"value":9,"toc":154},"minimark",[10,15,19,23,26,30,143,147,150],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"Inheritance lets a class take on all the properties and behaviors of another class. It's like a child inheriting traits from a parent — you get everything for free and can add your own stuff on top. But just like in real life, too much inheritance gets complicated fast.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Inheritance is an OOP mechanism where a subclass acquires the properties and methods of a superclass. It enables code reuse and 'is-a' relationships. Deep inheritance hierarchies are generally discouraged in favor of composition. The Liskov Substitution Principle governs correct inheritance use.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","class Animal {\n  speak() { return 'some noise'; }\n}\nclass Dog extends Animal {\n  speak() { return 'woof'; } \u002F\u002F override\n}\n","javascript","",[38,39,40,57,90,96,111,138],"code",{"__ignoreMap":36},[41,42,45,49,53],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"spNyl","class",[41,50,52],{"class":51},"sBMFI"," Animal",[41,54,56],{"class":55},"sMK4o"," {\n",[41,58,60,64,67,70,74,77,81,84,87],{"class":43,"line":59},2,[41,61,63],{"class":62},"swJcz","  speak",[41,65,66],{"class":55},"()",[41,68,69],{"class":55}," {",[41,71,73],{"class":72},"s7zQu"," return",[41,75,76],{"class":55}," '",[41,78,80],{"class":79},"sfazB","some noise",[41,82,83],{"class":55},"'",[41,85,86],{"class":55},";",[41,88,89],{"class":55}," }\n",[41,91,93],{"class":43,"line":92},3,[41,94,95],{"class":55},"}\n",[41,97,99,101,104,107,109],{"class":43,"line":98},4,[41,100,48],{"class":47},[41,102,103],{"class":51}," Dog",[41,105,106],{"class":47}," extends",[41,108,52],{"class":51},[41,110,56],{"class":55},[41,112,114,116,118,120,122,124,127,129,131,134],{"class":43,"line":113},5,[41,115,63],{"class":62},[41,117,66],{"class":55},[41,119,69],{"class":55},[41,121,73],{"class":72},[41,123,76],{"class":55},[41,125,126],{"class":79},"woof",[41,128,83],{"class":55},[41,130,86],{"class":55},[41,132,133],{"class":55}," }",[41,135,137],{"class":136},"sHwdD"," \u002F\u002F override\n",[41,139,141],{"class":43,"line":140},6,[41,142,95],{"class":55},[11,144,146],{"id":145},"when-youll-hear-this","When You'll Hear This",[16,148,149],{},"\"Dog inherits from Animal.\" \u002F \"Prefer composition over inheritance for flexibility.\"",[151,152,153],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":59,"depth":59,"links":155},[156,157,158,159],{"id":13,"depth":59,"text":14},{"id":21,"depth":59,"text":22},{"id":28,"depth":59,"text":29},{"id":145,"depth":59,"text":146},"architecture","Inheritance lets a class take on all the properties and behaviors of another class.","beginner","md","i",{},true,"\u002Fterms\u002Fi\u002Finheritance",[169,170,171,172],"Composition","Polymorphism","Liskov Substitution","Abstraction",{"title":5,"description":161},{"changefreq":175,"priority":176},"weekly",0.7,"terms\u002Fi\u002Finheritance","CtN-MdNwvnW-PHoUGM9lNoM1F-27PRFf6K-BKbHLzNQ",[180,183,187,190],{"title":172,"path":181,"acronym":6,"category":160,"difficulty":162,"description":182},"\u002Fterms\u002Fa\u002Fabstraction","Abstraction is hiding the messy details and showing only what matters.",{"title":169,"path":184,"acronym":6,"category":160,"difficulty":185,"description":186},"\u002Fterms\u002Fc\u002Fcomposition","intermediate","Composition means building complex things by combining simple ones, rather than inheriting from a parent class.",{"title":171,"path":188,"acronym":6,"category":160,"difficulty":185,"description":189},"\u002Fterms\u002Fl\u002Fliskov-substitution","Liskov Substitution says if class B extends class A, you should be able to swap B in everywhere A is used without anything breaking.",{"title":170,"path":191,"acronym":6,"category":160,"difficulty":185,"description":192},"\u002Fterms\u002Fp\u002Fpolymorphism","Polymorphism means the same method call can do different things depending on which object it's called on. Call 'speak()' on a Dog and you get a bark.",1776518288881]