2023 import Foundation protocol TaksPerformer func doAThing class Employee TaksPerformer let name | Assignment Collections
Computer Science 2023 Swift
2023 import Foundation protocol TaksPerformer func doAThing class Employee TaksPerformer let name | Assignment Collections
import Foundation
protocol TaksPerformer {
func doAThing()
}
class Employee: TaksPerformer {
let name: String
var boss: Boss?
init(name: String) { self.name = name
}
func doAThing() {
print("(name) is doing a thing")
} }
class Boss {
var employee: Employee
let name: String
init(name: String, employee: Employee) { self.name = name
self.employee = employee employee.boss = self
}
func actLikeABoss() { employee.doAThing()
} }
// 1)
// A) What is wrong with the current implementation of Boss and Employee,
why is it wrong, and how can we demonstrate that there is an issue?
//
// B) What pattern discussed in class does the Boss – Employee relationship remind you of? Give an example of the discussed pattern.
//
- // C) Create a Person class that has the following property:
- // let name: String
- // Now have Employee and Boss inherit from Person //
- // D) You realize that there are speciffic tasks you would like an
employee to perform. All tasks look like this: // func makeCoffe(_ name: String) {
// print(“(name) made coffe”)
// }
//
// func writeReport(_ name: String) {
//
// }
// Modify Boss, Employee and TaskPerformer in a way that a Boss can be
instantiated with the following constructor:
// Boss(name: "Bossman", employee: anEmployee, tasks: [makeCoffe,
writeReport])
// The employee instance should perform the tasks.
// 2)
// Create a small app that takes user input and performs a useful
calculation with that user input
// – Using techniques we learned in class, make sure that absolutely no
input crashes the app.
// – Use layout constraints to make sure the app looks good in
portraint and landscape mode, as well as on small and large devices.
- // – Use MVC
- // – Bonus: Write unit tests for your model to make sure no input can
crash the app.
// 3) You created a bookshelf.
// A) How could you modify Shelve with a technique discussed in class so
that you can create Shelve instances that contain
- // Tools, Dishes or any other kind of object?
- // B) Create a function that takes in two shelves of the same type and
swaps their items
struct Book { let title: String
}
struct Shelve { var top: Book
var center: Book
var bottom: Book }
print("(name) wrote a report")
We give our students 100% satisfaction with their assignments, which is one of the most important reasons students prefer us to other helpers. Our professional group and planners have more than ten years of rich experience. The only reason is that we have successfully helped more than 100000 students with their assignments on our inception days. Our expert group has more than 2200 professionals in different topics, and that is not all; we get more than 300 jobs every day more than 90% of the assignment get the conversion for payment.