cs
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")
6 years ago 12
Answer(0)
other Questions(10)
- management
- Paper
- 5 essays
- NEED ASSISTANCE WITH THIS ASSIGNMENT
- CHAPTERS 1-6
- ECET 305 digital signal processing class week two written assignment solutons
- PSY - Chomsky's Theory of Language Development
- BU340 Financial Management I - ASSIGNMENT 04
- The United States has several laws that are intended to further fair, balanced, and competitive business practices. Do you think that such laws are effective? If so, why? If not, why not?
- For Psychology Guru ONLY as Agreed