美文网首页
《六》、类结构扩展

《六》、类结构扩展

作者: 神奇作手 | 来源:发表于2019-07-26 09:41 被阅读0次

一、成员属性封装

   面向对象之中的最核心组成就是类与对象,但是在进行类开发的时候,也可以遵从面向对象的主要特征:封装性。

   在类中的属性追加了 private 之后外部将无法直接进行该属性的访问,可以使用如下的方式访问:

  • 设置属性的内容(setter 方法):public void setPrice(double p);
  • 获取属性的内容(getter 方法):public double getPrice();

   在以后所编写的任何类之中只要是属性必须使用 private 封装,并且封装后的属性如果要被外部访问必须提供相应的 setter、getter 方法,而且方法必须按照严格的要求进行命名。

二、构造方法与匿名对象

1、构造方法

   构造方法是在类中定义的一种特殊的方法,其主要的功能是为类对象中的属性进行初始化操作使用的。有如下流程:

  • 实列化某个类的对象;
  • 通过实例化对象调用 setter 方法为类中的属性初始化;
       但是如果现在有了构造方法的支持,就可以在对象实例化的同时将所需要的属性传递到对象之中,自动实现属性初始化(相当于避免了那一系列的 setter 调用)。
       构造方法不允许有任何的返回值,即:方法上不会声明返回值类型,不会编写 return 语句。
  • 类中定义的构造方法的名称必须与类名保持一致;
  • 构造方法不允许有任何的返回值,即:方法上不会声明返回值类型,不会编写return语句。

一个类中永远都会至少存在有一个构造方法,甚至可以有多个构造方法。
构造方法设置的主要目的是为了进行对象属性初始化操作的。

构造方法本身作为方法也是可以进行重载的,即:一个类中可以同时定义多个构造方法。

2、匿名对象

   所谓的匿名对象指的是只开辟堆内存空间,但是并没有任何栈内存指向的对象内容。

   匿名对象由于没有任何的栈内存所指向,所以该对象只能够使用一次,一次之后就会成为垃圾并等待回收,但是开发中是否使用匿名对象还是使用有名对象,没用明确的界定,根据自己的开发经验的积累,慢慢摸索出使用匿名对象的环境。

&

相关文章

  • 《六》、类结构扩展

    一、成员属性封装    面向对象之中的最核心组成就是类与对象,但是在进行类开发的时候,也可以遵从面向对象的主要特征...

  • Swift 语言简单介绍(二)

    本片文字主要介绍: 结构体 类 协议 扩展 闭包 结构体 类 协议 扩展 枚举 闭包

  • Bridge(桥接)模式

    特点:了解Bridge模式需要先了解类扩展的两个维度:类的实现层次结构和类的功能层次结构。类的实现层次结构:可理解...

  • swift扩展

    扩展 Swift中的扩展,有点类似于OC中的分类(Category) 扩展作用 扩展可以为枚举、结构体、类、协议添...

  • Swift:面向对象(二)

    一、继承(针对类)二、多态(针对类)三、协议(枚举、结构体、类都可以)四、扩展(枚举、结构体、类都可以)五、访问控...

  • Swift004-类 属性 协议 范型 扩展

    Swift004-类 属性 协议 范型 扩展 类 类和结构体区别: 1,类可以继承,结构体不可以 2,可以让一个类...

  • swift 中extension

    extension 扩展能为现有的 类,结构体,枚举,协议 添加功能。这包括为您无权访问的源代码扩展类型的能力。类...

  • Extension(扩展)

    // 扩展 extension// 扩展就是为一个已有的类,结构体,枚举类型或者协议类型添加新功能。“扩展和 Ob...

  • 《Swift从入门到精通》(十七):扩展

    扩展(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 扩展为类、结构体、枚举、协议添加新功能...

  • 21.Swift学习之扩展

    扩展 为现有的类、结构体、枚举类型、协议添加了新功能。扩展和 Objective-C 中的分类类似。 扩展可以:添...

网友评论

      本文标题:《六》、类结构扩展

      本文链接:https://www.haomeiwen.com/subject/zrilrctx.html