java - 持有人等级制度的阶级等级制度
问题描述
鉴于我有这样的类(例如 android 小部件类)的层次结构:
我需要为这个类的层次结构创建一个持有者的层次结构,以便每个持有者都可以创建其类的实例并以某种方式将属性应用于该实例以及儿童持有者的实例。
我当前的结构只允许层次结构的两层:
class MyViewBase {
protected void applyProperties(View view)
// Apply View's params
}
}
class MyTextView extends MyViewBase {
private TextView textView;
public MyTextView(Context context){
textView = new TextView();
// Apply TextView specific params
applyParams(textView);
}
}
// I cannot extend MyTextView since I
// would get both a Button and a TextView instantinated
class MyButton extends MyViewBase {
private TextView textView;
public MyTextView(Context context){
textView = new TextView();
// Apply TextView and Button specific params
applyParams(textView);
}
}
使用像下面这样的静态方法不是一种选择,因为在某些情况下我需要上下文
protected static void applyTextViewProperties(TextView view){
// Some code here
}
解决方案
推荐阅读
- angular - 在使用角反应形式输入文本字段时将文本转换为大写
- html - 从子导航栏打开其他选项卡而不加载整个新的 HTML 页面
- javascript - 将用户ID添加到阵列以在返回公会时被禁止?
- asp.net - Asp.net 4.5 CORS 问题
- wpf - WPF .NET Core 3.1 发布的自包含单个 exe 缺少 DLL
- r - 如何更改R中列的特定值
- cordova - 我如何在不下载 SDK 和 XCODE 的情况下从带有在线平台的 ember 应用程序构建 android 和 ios 应用程序?
- r - geom_conn_bundle 中的颜色映射未正确显示
- apache-spark - 将 Spark Dataframe 写入 HDP2.6 中的 Hive 可访问表
- r - 除非我使用奇怪的语法,否则为什么意味着忽略修剪参数?