<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Classes on Dev &amp; Platform Engineering Hub</title><link>https://rhidayat.work/topics/classes/</link><description>Recent content in Classes on Dev &amp; Platform Engineering Hub</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Rachmat Hidayat</copyright><lastBuildDate>Sun, 09 Aug 2026 14:40:00 +0000</lastBuildDate><atom:link href="https://rhidayat.work/topics/classes/index.xml" rel="self" type="application/rss+xml"/><item><title>TS Ep 24: The Polymorphic `this` Type &amp; Fluent APIs</title><link>https://rhidayat.work/series/typescript/classes-and-oop/09-the-this-type/</link><pubDate>Sun, 09 Aug 2026 14:40:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/09-the-this-type/</guid><description>An in-depth analysis of the polymorphic &lt;code&gt;this&lt;/code&gt; type in TypeScript. Learn how returning &lt;code&gt;: this&lt;/code&gt; preserves subclass type identities during method chaining, build type-safe Fluent Builder APIs, and use explicit &lt;code&gt;this&lt;/code&gt; parameters for callback binding safety.</description></item><item><title>TS Ep 23: Static Members, Static Blocks, and Singletons</title><link>https://rhidayat.work/series/typescript/classes-and-oop/08-static-members/</link><pubDate>Sun, 09 Aug 2026 14:35:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/08-static-members/</guid><description>An in-depth analysis of static class members in TypeScript. Learn how static properties attach to constructor functions, static access control, static blocks (&lt;code&gt;static {}&lt;/code&gt;), static inheritance, and implementing the Singleton Pattern using private constructors.</description></item><item><title>TS Ep 22: Abstract Classes &amp; Template Method Pattern</title><link>https://rhidayat.work/series/typescript/classes-and-oop/07-abstract-classes/</link><pubDate>Sun, 09 Aug 2026 14:30:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/07-abstract-classes/</guid><description>An in-depth guide to Abstract Classes in TypeScript. Learn how &lt;code&gt;abstract class&lt;/code&gt; prevents direct instantiation, enforcing method implementation contracts on subclasses while sharing concrete base logic using the Template Method design pattern.</description></item><item><title>TS Ep 21: Class Inheritance, `super()`, and the `override` Keyword</title><link>https://rhidayat.work/series/typescript/classes-and-oop/06-inheritance-and-super/</link><pubDate>Sun, 09 Aug 2026 14:25:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/06-inheritance-and-super/</guid><description>An in-depth exploration of class inheritance in TypeScript. Learn how &lt;code&gt;extends&lt;/code&gt; establishes prototypal chain linkages, &lt;code&gt;super()&lt;/code&gt; constructor constraints, method overriding with &lt;code&gt;super.method()&lt;/code&gt;, and using TypeScript 4.3+ &lt;code&gt;override&lt;/code&gt; modifier to prevent silent refactoring bugs.</description></item><item><title>TS Ep 20: Implementing Interfaces (`implements` Keyword)</title><link>https://rhidayat.work/series/typescript/classes-and-oop/05-implements-interfaces/</link><pubDate>Sun, 09 Aug 2026 14:20:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/05-implements-interfaces/</guid><description>An in-depth analysis of interface implementation in TypeScript. Learn how &lt;code&gt;implements&lt;/code&gt; validates class structure, why &lt;code&gt;implements&lt;/code&gt; does not infer method parameter types automatically, implementing multiple interfaces, and public contract enforcement.</description></item><item><title>TS Ep 19: Getters, Setters, and Asymmetric Accessors</title><link>https://rhidayat.work/series/typescript/classes-and-oop/04-getters-and-setters/</link><pubDate>Sun, 09 Aug 2026 14:15:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/04-getters-and-setters/</guid><description>An in-depth analysis of class accessors in TypeScript. Learn how &lt;code&gt;get&lt;/code&gt; and &lt;code&gt;set&lt;/code&gt; intercept reading and writing, computed properties, backing field naming patterns, and TypeScript 4.3+ Asymmetric Accessor Types.</description></item><item><title>TS Ep 18: Parameter Properties — Concise Class Initializations</title><link>https://rhidayat.work/series/typescript/classes-and-oop/03-parameter-properties/</link><pubDate>Sun, 09 Aug 2026 14:10:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/03-parameter-properties/</guid><description>Learn how TypeScript parameter properties compress field declarations, constructor parameter typing, and &lt;code&gt;this&lt;/code&gt; assignments into one line. Understand compilation behavior, inheritance interaction with super(), and common duplicate identifier gotchas.</description></item><item><title>TS Ep 17: Access Modifiers &amp; Hard Private Fields (#)</title><link>https://rhidayat.work/series/typescript/classes-and-oop/02-access-modifiers-public-private-protected/</link><pubDate>Sun, 09 Aug 2026 14:05:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/02-access-modifiers-public-private-protected/</guid><description>An in-depth analysis of class encapsulation. Understand the visibility matrix of public, private, and protected modifiers, inheritance rules in subclasses, compile-time type erasure, and how ES2022 hard private fields (&lt;code&gt;#&lt;/code&gt;) provide true runtime isolation.</description></item><item><title>TS Ep 16: Class Basics, Field Declarations, and Constructors</title><link>https://rhidayat.work/series/typescript/classes-and-oop/01-class-basics-and-constructors/</link><pubDate>Sun, 09 Aug 2026 14:00:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/classes-and-oop/01-class-basics-and-constructors/</guid><description>An in-depth guide to TypeScript classes. Learn how field declarations differ from standard ES6 JavaScript, how strictPropertyInitialization eliminates uninitialized field bugs, readonly class fields, and the Definite Assignment Assertion operator (&lt;code&gt;!&lt;/code&gt;).</description></item></channel></rss>