我正在制作一个交易程序,并且假设我们有User是一个抽象类,然后我们有股东扩展用户,我们也有扩展用户的Admin。让我们说管理员可以删除用户(用户用户)。我无法弄清楚这是有道理的,当我们无法实例化用户时,我们如何删除用户。
我现在没有任何代码我只是为此制作一个类图,只是对此感到困惑。但是为了这个问题,我会添加一些小代码:
public abstract class User{
private String username;
private String password;
}
public class Shareholder extends User{
private double balance;
#constructor to follow + setter and getter
}
public class Admin extends User{
public void deleteUser(User user){..}
}
答案 0 :(得分:1)
我无法弄清楚这有什么意义,我们怎样才能删除用户 当我们无法实例化用户时。
Admin
和Shareholder
都延伸User
。 Admin
和Shareholder
的实例是User
的实例。实例化具体类Admin
和Shareholder
时,实例化User
的实例。
答案 1 :(得分:0)
根据is-a关系,它是继承的基础,User
的任何子类在所有效果下都是User
。
因此,即使假设User
无法实例化为User
,任何不再abstract
的子类都可以User
,而且它们也是groups {
"fsfdsfsdf" {
title: "Tasks"
"todos" {
"fsdfsdf": true
}
}
let ref1 = Firebase(url: "https....io/groups/fsfdsfsdf/todos/fsdfsdf")
let ref2 = Firebase(url: "https....io/todos/fsdfsdf")
// after Edit I call this methods
ref1.updateChildValues(true) // true -> true observer doesn't catch
ref2.updateChildValues(editTodo)
。