• Swift -- 7.1 面向对象简介


    swift的面向对象特性

    虽然我学过c#,也学过java,但是,现在脑子里几乎想不起来关于他们的东西了OTZ

    swift可以定义三种面向对象类型:类, 枚举, 结构体

    虽然都是面向对象类型,但是只有类是引用类型,枚举和结构体依然是值类型

    也就是说,类的传值复制的是指针,而枚举和结构体的传值复制的是对象本身

     

    为什么有了类还有再定义枚举和结构体这种类型呢(枚举和结构体虽然是面向对象类型,却是值类型,使用起来性能不一样)

     

    面向对象类型有三大特性:封装,继承,多态

    封装就是把外界不需要的属性和方法隐藏起来,只提供部分接口来让外界来使用

    继承很好理解,swift仅支持单继承,然后提供了协议来弥补这个缺点

    多态还不知道怎么回事

     

    结构体和枚举在c语言中并没有面向对象的特性,但是swift重新定义了他们,并且赋予了他们面向对象的功能

    swift中,实例和对象是不同的,只有类的实例才能被

    定义了swift的任意类型之后,大致可以从5个方面来使用该类型:

    1 声明变量

    2 创建实例,但是枚举不能随意的创建实例,只能使用定义枚举时定义好的实例

    3 访问类型属性

    4 调用类型方法

    5 派生子类。但是swift只有类才支持继承,枚举和结构体都不支持继承,因此枚举和结构体都不能派生子类

  • 相关阅读:
    聊聊赚钱
    Java面试官最爱问的volatile关键字
    你适合副业挣钱吗?
    SpringBoot自定义starter及自动配置
    mybatis进阶--输入映射和输出映射
    mybatis入门--初识mybatis
    mybatis入门--#{}和${}的区别
    mybatis入门--mybatis和hibernate比较
    mybatis入门--单表的增删改操作
    mybatis进阶--mapper输入映射和输出映射
  • 原文地址:https://www.cnblogs.com/chebaodaren/p/5590924.html
Copyright © 2020-2023  润新知