Pertanyaan yang diberi tag «abstract-class»

Kelas abstrak adalah kelas yang tidak bisa dibuat instance-nya. Mereka ada untuk menyediakan fungsionalitas umum dan spesifikasi antarmuka ke beberapa kelas beton.

11
Mengapa fungsi virtual murni diinisialisasi oleh 0?
Kami selalu mendeklarasikan fungsi virtual murni sebagai: virtual void fun () = 0 ; Yaitu, selalu ditugaskan ke 0. Apa yang saya pahami adalah bahwa ini adalah untuk menginisialisasi entri vtable untuk fungsi ini ke NULL dan nilai lainnya di sini menghasilkan kesalahan waktu kompilasi. Apakah pemahaman ini benar atau …

6
Menguji Kelas Abstrak
Bagaimana cara menguji metode konkret dari kelas abstrak dengan PHPUnit? Saya berharap bahwa saya harus membuat semacam objek sebagai bagian dari tes. Padahal, saya tidak tahu praktik terbaik untuk ini atau jika PHPUnit memungkinkan untuk ini.



3
C #: Kelas abstrak perlu mengimplementasikan antarmuka?
Kode pengujian saya dalam C #: namespace DSnA { public abstract class Test : IComparable { } } Hasil dalam kesalahan kompilator berikut: error CS0535: 'DSnA.Test' does not implement interface member 'System.IComparable.CompareTo(object)' Karena kelas Testadalah kelas abstrak , mengapa kompiler memerlukannya untuk mengimplementasikan antarmuka? Tidakkah persyaratan ini hanya wajib untuk …

11
Fungsi abstrak dalam Bahasa Swift
Saya ingin membuat fungsi abstrak dalam bahasa cepat. Apa itu mungkin? class BaseClass { func abstractFunction() { // How do I force this function to be overridden? } } class SubClass : BaseClass { override func abstractFunction() { // Override } }

9
Properti abstrak PHP
Apakah ada cara untuk mendefinisikan properti kelas abstrak di PHP? abstract class Foo_Abstract { abstract public $tablename; } class Foo extends Foo_Abstract { //Foo must 'implement' $property public $tablename = 'users'; }
126 php  oop  abstract-class 

7
Mengapa kelas abstrak yang mengimplementasikan antarmuka bisa melewatkan deklarasi / implementasi salah satu metode antarmuka?
Suatu hal yang aneh terjadi di Java ketika Anda menggunakan kelas abstrak untuk mengimplementasikan sebuah antarmuka: beberapa metode antarmuka bisa hilang sama sekali (yaitu tidak ada deklarasi abstrak atau implementasi aktual), tetapi kompilator tidak mengeluh. Misalnya, antarmuka yang diberikan: public interface IAnything { void m1(); void m2(); void m3(); } …

17
Bagaimana cara menerapkan kelas abstrak di ruby?
Saya tahu tidak ada konsep kelas abstrak di ruby. Tetapi jika memang perlu diterapkan, bagaimana cara melakukannya? Saya mencoba sesuatu seperti ... class A def self.new raise 'Doh! You are trying to write Java in Ruby!' end end class B < A ... ... end Tetapi ketika saya mencoba untuk …


10
Pimpl idiom vs antarmuka kelas virtual murni
Saya bertanya-tanya apa yang membuat seorang programmer memilih idiom Pimpl atau kelas virtual murni dan warisan. Saya memahami bahwa idiom pimpl hadir dengan satu tipuan ekstra eksplisit untuk setiap metode publik dan overhead pembuatan objek. Kelas virtual murni di sisi lain hadir dengan indireksi implisit (vtable) untuk implementasi yang mewarisi …

3
Cara membuat properti abstrak di kelas abstrak python
Dalam kode berikut, saya membuat kelas abstrak dasar Base. Saya ingin semua kelas yang diwarisi Basemenyediakan nameproperti, jadi saya menjadikan properti ini sebagai @abstractmethod. Kemudian saya membuat subclass dari Base, disebut Base_1, yang dimaksudkan untuk menyediakan beberapa fungsionalitas, tetapi tetap abstrak. Tidak ada nameproperti di Base_1, namun python membuat objek …


4
`staticmethod` dan` abc.abstractmethod`: Apakah akan berbaur?
Di aplikasi Python saya, saya ingin membuat metode a staticmethoddan abc.abstractmethod. Bagaimana saya melakukan ini? Saya mencoba menerapkan kedua dekorator, tetapi tidak berhasil. Jika saya melakukan ini: import abc class C(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod @staticmethod def my_function(): pass Saya mendapatkan pengecualian *, dan jika saya melakukan ini: class C(object): …

6
Konvensi penamaan untuk kelas abstrak
Saya ingat dengan jelas bahwa, pada suatu waktu, pedoman yang didorong oleh Microsoft adalah menambahkan sufiks "Base" ke kelas abstrak untuk meniadakan fakta bahwa itu abstrak. Oleh karena itu, kami memiliki kelas seperti System.Web.Hosting.VirtualFileBase, System.Configuration.ConfigurationValidatorBase, System.Windows.Forms.ButtonBase, dan, tentu saja, System.Collections.CollectionBase. Tapi saya perhatikan bahwa, akhir-akhir ini, banyak kelas abstrak dalam …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.