美文网首页
封装,继承,多态

封装,继承,多态

作者: 天城一哥 | 来源:发表于2016-07-24 20:51 被阅读26次

    1.1字节:8bit = Byte :1B

    1KB = 1024B
    1MB= 1024KB
    内存地址
    只有类才是引用类型,其他都是值类型
    类调用类方法
    dynamicType:动态类型,获取调用对象的类型
    通过类名调用类方法

    两种调用:
    1).通过函数名调用,带.
    2).通过类名调用

    2.public 比 internal更广
    public可在其他应用中使用
    private :在文件

    1. set:设置值
      get:取值

    4.sqrt : 开平方根
    5.协议(protocol):提供约束,将不同类按行为分类
    继承(Inheritance):主要目的是重用代码,父类给子类提供公共代码
    6.面向对象的三大特征:
    1).封装
    2).继承
    3).多态
    7.访问权限控制:
    默认为internal: 在当前应用或模块可见
    public:在模块、Framework(框架)外可见
    private:只能在当前文件中使用
    成员的权限不可能超过所在类的权限

    1. 存储属性:willSet,didSet
      var name: String! {
      //将值存入name之前调用
      willSet(newValue) {
      print("(name) : (newValue)")
      }

       didSet {
           print("\(name)")
       }
      

      }

      计算属性:
      var area: Double { //记住:是var,而不是func
      // return width * height

       get {
           return width * height
       }
       
       set {
           width = sqrt(newValue)
           height = sqrt(newValue)
       }
      

      }

    9.继承:
    1).具备父类的所有属性和方法
    2).在父类基础上拓展
    3).可重新定义父类的一些功能
    4).最多只有一个父类
    重写(覆盖)父类的方法需要添加override:
    override func eat( ) {
    print("Dog eat( )")
    }

    10.多态:
    相似的类型,结果不同:
    var a = Animal()
    a.eat()

    a = Dog()
    a.eat()
    
    a = Cat()
    a.eat()
        
    结果:Animal eat()
              Dog eat()
              Cat eat()
    

    11.两种水果相加:
    Banana:
    class Banana{
    var m1:Double = 0
    var colour:String = "yellow"
    }

    Apple:
    class Apple{
    var m2:Double = 0
    var colour:String = "red"
    }

    Fruit:
    class Fruit{
    var weight:Double = 0

    }

    func +(left:Fruit,right:Fruit) -> Fruit {
    let fruit = Fruit()
    fruit.weight = left.weight + right.weight
    return fruit

    }

    main:
    let m1 = Fruit()
    m1.weight = 20
    print(m1.weight)

    let m2 = Fruit()
    m2.weight = 30
    print(m2.weight)

    let m3 = m1 + m2
    print(m3.weight)

    相关文章

      网友评论

          本文标题:封装,继承,多态

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