Swift5

//定义协议
protocol SomeprotocolOne{
func printSomething()

}
protocol SomeprotocolTwo{

}
class SomeClass{

}
//采纳协议
class SomeClassOne:SomeClass,SomeprotocolOne,SomeprotocolTwo{
func printSomething() {
print("Hello World")
}

}

//属性要求//get set 可读可写 get可读 set可写
protocol FullNamed{
var fullname: String {get}
}

class SpellName: FullNamed{

var prefix: String?

var name: String?

init(name:String,prefix:String?=nil){
self.name = name
self.prefix = prefix
}//自定义初始化方法

var fullname:String {
return(prefix != nil ? prefix! + "":"")+name!

}

}

let name = SpellName(name: "阳菜", prefix: "小嶋")
print(name.fullname)

//方法要求
protocol SomeProtocolThree{
static func someTypeClass()
func sum() -> Double
}

protocol Conters {
func sum() -> Double
}

class sumOfThreeNumber:Conters{
var numOne = 0.0
var numTwo = 0.0
var numThree = 0.0
func sum() -> Double {
return numOne * numTwo * numThree
}

}

var sum = sumOfThreeNumber()
print(sum.sum())
sum.numOne = 9.0
sum.numTwo = 23.32
sum.numThree = 534
print(sum.sum())



protocol Toggable{
mutating func toggable()
}
//mutating 在方法里去改变方法所属的实例
enum OnOFFSwitch:Toggable{
case on
case off
mutating func toggable() {
switch self{
case off:
self = on
case on:
self = off
}
}

}

var lightSwitch = OnOFFSwitch.on
lightSwitch.toggable()

//委托代理模式

protocol retentHose {

func Renting()
}

class LianJia:retentHose{
func Renting() {
print("我是家,我可以找房")
}
}

class Lisi:retentHose{
func Renting() {
print("我是李四,我可以找房")
}
}

class myHouse{
var houseDelegate:retentHose?
}

class WU8{
func renting() {
print("我是8,我可以找房")
}

}

var mine = myHouse()
var wu = WU8()
var lisi = Lisi()
var lianjia = LianJia()

mine.houseDelegate = lianjia
mine.houseDelegate?.Renting()

//扩展要求

protocol PrintText{
var textDescription:String{
get
}
}

protocol DrawPicture{

}
class Book : DrawPicture {


}

extension Book : PrintText{
var textDescription: String{
return "可以描述"
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值