swift
gobelins
Equivalent de l'interface en Java
protocol Proto1 {
func start()
func pause()
func stop()
}
protocol Proto2 {
func sayHello()
func sayThanks()
func sayBye()
}
class Move: Proto1 {
func start() {
}
func pause() {
}
func stop() {
}
}
class Speak: Proto2 {
func sayHello() {
}
func sayThanks() {
}
func sayBye() {
}
}
var moves: [Proto1] = [Move()]
for m in moves {
m.start()
}
func haveDiscussion(sentences: Proto2) {
sentences.sayHello()
}
protocol MonProtocolAvecFonctionStatic {
static func b()
}
protocol P {
func a(_ p:Int) -> Int
}
protocol ProtocolInutile {
func fonctionDeProtocolInutile()
}
class JeSuisUneClasseSansProtocol {
}
class JeSuisUneClasseRespectantUnProtocol:ProtocolInutile {
func fonctionDeProtocolInutile() {}
}
class JeSuisUneClasseRespectantPlusieursProtocol:ProtocolInutile,P,MonProtocolAvecFonctionStatic {
// Fonction provenant de 'ProtocolInutile'
func fonctionDeProtocolInutile() {}
// Fonction provenant de 'P'
func a(_ p: Int) -> Int { return p }
static func b() { print("from static") }
}
let sansProtocol = JeSuisUneClasseSansProtocol()
let unProtocol = JeSuisUneClasseRespectantUnProtocol()
unProtocol.fonctionDeProtocolInutile()
let plusieursProtocol = JeSuisUneClasseRespectantPlusieursProtocol()
plusieursProtocol.fonctionDeProtocolInutile()
plusieursProtocol.a(3)
JeSuisUneClasseRespectantPlusieursProtocol.b()
Permissions Garantir la vie privée des utilisateurs Transparence Restriction des données Restriction d'accès Permissions normales Non dangereuses
Mar 2, 2021Programmation multi thread Les instructions exécutées dans un programme sont dans 1 thread Généralement, les instructions s'éxecutent de manière séquentielle On peut éxecuter plusieurs instructions parallèlement dans un multi thread Exécution synchrone Instructions éxecutées séquentiellement Exécution asynchrone
Mar 1, 2021Définition Ensemble de propriétés / attributs pour modéliser un objet // Exemple de classe très simple et son instanciation class Etudiant(val name: String) val etu = Etudiant("Valentin") println(etu.name) // Valentin Héritage open class Person(open val nom: String)
Feb 19, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up