爬行的蜗牛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: golang Linux PHP
查看: 41|回复: 0

接口的嵌套

[复制链接]

94

主题

36

回帖

849

积分

管理员

积分
849
发表于 2024-11-3 22:23:57 | 显示全部楼层 |阅读模式
  1. package main

  2. import "fmt"

  3. func main() {
  4.         /*
  5.                 接口的嵌套:
  6.         */
  7.         var cat Cat = Cat{}
  8.         cat.test1()
  9.         cat.test2()
  10.         cat.test3()
  11.         fmt.Println("------------------>")
  12.         var a1 A = cat
  13.         a1.test1()
  14.         fmt.Println("------------------>")
  15.         var b1 B = cat
  16.         b1.test2()
  17.         fmt.Println("------------------>")
  18.         var c1 C = cat
  19.         c1.test1()
  20.         c1.test2()
  21.         c1.test3()
  22.         fmt.Println("------------------>")
  23.         //var c2 C = a1
  24.         var a2 A = c1
  25.         a2.test1()
  26. }

  27. type A interface {
  28.         test1()
  29. }

  30. type B interface {
  31.         test2()
  32. }
  33. type C interface {
  34.         A
  35.         B
  36.         test3()
  37. }
  38. type Cat struct { //如果想实现接口C,那不止要实现接口C的方法,还要实现接口A,B中的方法。
  39. }

  40. func (c Cat) test1() {
  41.         fmt.Println("test1()....")
  42. }
  43. func (c Cat) test2() {
  44.         fmt.Println("test2()....")
  45. }
  46. func (c Cat) test3() {
  47.         fmt.Println("test3()....")
  48. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表