News for hackers. Stuff that matters.
Re:Public/protected/private is an unnecessary feature by nick_ on Thursday June 19, 2025 @05:16PM (#44322602)
Same here. I recently came across a real use for the newer `private protected` (`FamANDAssembly`) modifier combo. Only derived types that are internal to my assembly can access this member. Beautiful. It re-confirmed my long standing belief that OOP is an incredibly powerful and valid pattern.
Re:Public/protected/private is an unnecessary feature by kmeisthax on Thursday June 19, 2025 @09:50PM (#44324062)
I'm assuming this is akin to Rust's pub(crate) keyword?
Re:Public/protected/private is an unnecessary feature by colejohnson66 on Friday June 20, 2025 @07:36AM (#44326770)
`internal` maps to `pub(crate)`. But there's no analog for `protected` because Rust doesn’t have inheritance.

`private protected` means "only me or anyone inheriting me in this assembly". There's also `protected internal` which means "me, anyone inheriting me, and anyone inside this assembly". An assembly is analogous to a Rust crate.