objective-c - 在Obj-C中实例方法和类方法的区别是什么?
習慣沉默
習慣沉默 2017-05-02 09:20:30
0
3
775

实例方法,即需要实例化对象调用的方法。
类方法,即类直接调用的方法。

我不明白什么场合用类方法,什么场合用实例方法。两者相比较真正的优势和劣势又是什么?

習慣沉默
習慣沉默

membalas semua(3)
迷茫

Kaedah kelas biasanya digunakan untuk menyediakan pemprosesan terpiawai biasanya digunakan untuk menyediakan pemprosesan diperibadikan (mengikat kepada kejadian tertentu).

曾经蜡笔没有小新

Sepatutnya tiada kelebihan dan kekurangan.

  • Jika kaedah mempunyai parameter input yang sama, output akan dipengaruhi oleh pemboleh ubah contoh kejadian objek yang berbeza Secara amnya, ia harus ditulis sebagai kaedah contoh.

  • Jika parameter input adalah sama tetapi tidak dipengaruhi oleh pembolehubah tika (statik bukan pembolehubah tika), anda boleh menulis kaedah kelas dan memberikannya kepada kelas untuk dipanggil. Contohnya

- (NSString *)getCertainString
{
    return @"The string."
}

Anda boleh menulis hantu jenis ini sebagai kaedah contoh, tetapi bukan sahaja hantu itu akan digunakan/dilepaskan setiap kali ia dipanggil, ia juga akan menjejaskan bacaan kod.

  • Kaedah kelas lebih biasa dalam mod tunggal dan mod kilang. Kelas dalam program mod tunggal ini hanya mempunyai satu contoh; mod kilang menghasilkan kejadian yang berbeza dan mengembalikannya berdasarkan parameter.

阿神

Tiada perbezaan antara kaedah, ia hanya untuk kemudahan penggunaan Jika anda perlu membezakan, perkara berikut harus dipertimbangkan

Kelemahan kaedah kelas: Dalam kaedah kelas, diri mewakili kelas, bukan objek kelas, jadi dalam kaedah kelas anda tidak boleh menggunakan diri untuk memanggil atribut, anda juga tidak boleh memanggil kaedah contoh kelas ini.
Kelas Kelebihan kaedah: mudah untuk memanggil, tidak perlu mencipta objek

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan