简单工厂设计模式
来源:互联网 发布:美工收入 编辑:程序博客网 时间:2024/05/16 14:54
直接代码:封装类:
package com.example.hujhguiyhiu.test_demo.DaHuaMoShi_1;/** * Created by hujhguiyhiu on 2016/8/16. */public class FengZhuang { private double danJia; private int shuLiang; public void setDanJia(double danJia) { this.danJia = danJia; } public void setShuLiang(int shuLiang) { this.shuLiang = shuLiang; } public double getDanJia() { return danJia; } public int getShuLiang() { return shuLiang; } //虚方法,主要就是在继承者们那进行逻辑运算 public double yunSuan() { return 0; }}
逻辑代码类:
package com.example.hujhguiyhiu.test_demo.DaHuaMoShi_1;import android.app.Activity;import android.os.Bundle;import android.os.PersistableBundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import com.example.hujhguiyhiu.test_demo.R;import java.util.ArrayList;import java.util.List;/** * Created by hujhguiyhiu on 2016/8/16. */public class DHMS_Activity1 extends AppCompatActivity { private FengZhuang fz; private EditText editText1; private EditText editText2; private Button bt1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dhms1); editText1 = (EditText) findViewById(R.id.et1); editText2 = (EditText) findViewById(R.id.et2); bt1 = (Button) findViewById(R.id.bt1); //类型 bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { fz = YunSuanIpm.onCreate(YunSuanIpm.TYPE_SY); fz.setDanJia(Double.valueOf(editText1.getText().toString())); fz.setShuLiang(Integer.valueOf(editText2.getText().toString())); double t = fz.yunSuan(); } }); }}主程序类:package com.example.hujhguiyhiu.test_demo.DaHuaMoShi_1;import android.util.Log;/** * Created by hujhguiyhiu on 2016/8/16. */public class YunSuanIpm { public static final String TYPE_SY = "SY"; public static final String TYPE_ZLX = "ZLX"; public static FengZhuang onCreate(String shenY) { FengZhuang fz = null; switch (shenY) { case TYPE_SY: fz = new syYunSua(); break; case TYPE_ZLX: fz = new zlxYunSua(); break; } return fz; } public static class syYunSua extends FengZhuang { @Override public double yunSuan() { double t = 0, danJia = getDanJia(); int shuLiang = getShuLiang(); t = danJia * shuLiang; Log.d("test", "sy总计:" + t); return t; } } public static class zlxYunSua extends FengZhuang { @Override public double yunSuan() { double t = 0, danJia = getDanJia(); int shuLiang = getShuLiang(); t = danJia * shuLiang; Log.d("test", "zlx总计:" + t); return t; } }}主要的就是封装类中虚方法。。。
0 0
- 简单工厂设计模式
- 设计模式-----简单工厂
- 简单工厂设计模式
- 设计模式:简单工厂
- 设计模式 - 简单工厂
- 设计模式 简单工厂
- 【设计模式】【简单工厂】
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式--简单工厂
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式------------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- 设计模式---------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- [原创]unity3D学习【功能实现】之三:实例化
- php 可变变量实例
- python 使用list.append()后前面的数据被后面的数据覆盖-解决办法
- Android开发-SQLiteDemo增删改查-AndroidStudio-项目应用-里程记录
- struts默认拦截器
- 简单工厂设计模式
- nginx rewrite指令解析
- webpack基础入门
- LESSCSS
- CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
- RecycleView如何实现item的点击事件
- Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应。
- win10、C语言、codeblocks、Mysql
- Wifi