Jawaban singkat: Ya
Jawaban yang lebih panjang:
Ya, tetapi itu tidak harus ditafsirkan sebagai saran untuk memulai dengan menulis kelas Anda dengan segala sesuatu yang pribadi; pendekatan itu menyiratkan desain kelas dengan berfokus pada detail implementasi sebelum Anda memilih antarmuka.
Salah satu aspek paling penting untuk dipertimbangkan ketika merancang kelas adalah bagaimana itu akan digunakan; yang melibatkan pemikiran tentang metode publik Anda sebelum Anda mulai memikirkan detail pribadi / implementasi.
Lebih jauh, pendekatan itu biasanya melewatkan kesempatan untuk bertanya pada diri sendiri, "Bagaimana saya menulis tes unit untuk kelas ini?" - yang merupakan pertanyaan penting untuk ditanyakan meskipun Anda sebenarnya tidak menulis tes unit. (Terkait: "Apa prinsip desain yang mempromosikan kode yang dapat diuji?" )
Jadi, setelah Anda mendefinisikan antarmuka publik, maka itu ide yang baik untuk default sisanya ke pribadi karena sebagian besar dari itu biasanya akan menjadi detail implementasi berpasir yang tidak menjadi perhatian terhadap apa pun di luar kelas.