Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membawa anda mempelajari warisan dan pelaksanaan Golang

Membawa anda mempelajari warisan dan pelaksanaan Golang

PHPz
PHPzasal
2023-03-29 16:42:481395semak imbas

Golang ialah bahasa pengaturcaraan yang kaya dengan ciri. Kaedah pengaturcaraan berorientasikan objek dilaksanakan melalui struktur. Di Golang, pewarisan boleh dilaksanakan menggunakan pembenaman struktur, dan Golang juga menyediakan beberapa kaedah untuk melaksanakan pewarisan. Dalam artikel ini, kita akan belajar tentang pewarisan dan pelaksanaan di Golang.

  1. Warisan

Warisan merupakan salah satu konsep teras dalam merealisasikan pengaturcaraan berorientasikan objek. Golang melaksanakan fungsi pewarisan melalui pembenaman struktur. Di Golang, struktur boleh tertanam dalam struktur lain, dengan itu mewarisi sifat dan kaedahnya.

Kod sampel:

type Animal struct {
    name string
    age int
}

type Dog struct {
    Animal
    breed string
}

func main() {
    dog := Dog{}
    dog.name = "Tommy"
    dog.age = 2
    dog.breed = "Poodle"

    fmt.Println("Name:", dog.name)
    fmt.Println("Age:", dog.age)
    fmt.Println("Breed:", dog.breed)
    dog.bark()
}

func (a *Animal) bark() {
    fmt.Println("Animal barks")
}

Dalam contoh ini, kami mentakrifkan struktur Haiwan, yang merangkumi nama dan umur. Kami juga mentakrifkan struktur Anjing yang membenamkan struktur Haiwan, mewarisi sifat dan kaedah daripada Haiwan dengan cara ini. Struktur Anjing juga mempunyai atribut baka, iaitu atribut Anjing sendiri.

Dengan cara ini, kita boleh mengakses sifat dan kaedah Haiwan sambil menambahkan sifat dan kaedah khusus Anjing. Kaedah kulit kayu ialah kaedah Haiwan, tetapi ia juga boleh diakses melalui objek Anjing.

  1. Melaksanakan antara muka

Di Golang, melaksanakan antara muka ialah cara lain untuk melaksanakan pengaturcaraan berorientasikan objek. Tidak seperti warisan, Golang melaksanakan antara muka melalui tandatangan kaedah. Dalam Golang, antara muka mentakrifkan satu set kaedah Jika sesuatu jenis melaksanakan kaedah ini, maka ia melaksanakan antara muka.

Kod sampel:

type Animal interface {
    eat()
    sleep()
}

type Dog struct {}

func (d Dog) eat() {
    fmt.Println("The dog is eating")
}

func (d Dog) sleep() {
    fmt.Println("The dog is sleeping")
}

func main() {
    var animal Animal
    animal = Dog{}

    animal.eat()
    animal.sleep()
}

Dalam contoh ini, kami mentakrifkan antara muka Haiwan dengan dua kaedah, makan dan tidur. Kami juga mentakrifkan struktur Anjing, yang melaksanakan kaedah antara muka Haiwan. Dalam fungsi utama, kami menyimpan objek jenis Anjing menggunakan jenis Haiwan dan mengaksesnya menggunakan kaedah makan dan tidur.

Dengan cara ini, kita boleh menentukan antara muka untuk pelbagai jenis objek dan menyatukan gelagatnya.

Ringkasan

Pewarisan dan pelaksanaan antara muka ialah dua cara untuk melaksanakan pengaturcaraan berorientasikan objek di Golang. Warisan dicapai melalui pembenaman struktur, manakala antara muka pelaksanaan dicapai melalui tandatangan kaedah. Kedua-dua pendekatan memberikan fleksibiliti dan polimorfisme kepada pengaturcaraan, yang merupakan konsep teras dalam mencapai pengaturcaraan berorientasikan objek.

Atas ialah kandungan terperinci Membawa anda mempelajari warisan dan pelaksanaan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn