一、案例需求:
使用面向对象方法设计一个商店收银系统。完成最基本的商品买卖收费统计问题。
1、最落后、原始写法
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace Sale
- {
- public partial class Form1 : Form
- {
- public double total = 0;
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- double astract_total = Convert.ToDouble(textBox1.Text) * \
- Convert.ToDouble(textBox2.Text);
- listBox1.Items.Add(textBox3.Text + ": 单价 " + textBox1.Text \
- + ",数量 " + textBox2.Text);
- total += count_1_actual_total(astract_total, \
- Convert.ToDouble(textBox4.Text), \
- Convert.ToDouble(textBox5.Text), \
- Convert.ToDouble(textBox6.Text));
- label4.Text = Convert.ToString(total) + "元";
- }
- private void button2_Click(object sender, EventArgs e)
- {
- textBox1.Text = "";
- textBox2.Text = "";
- textBox3.Text = "";
- }
- private double count_1_actual_total(double astract_total,\
- double discount, \
- double number_a, \
- double number_b)
- {
- double actual_total = 0;
- double tmp_total = astract_total * (discount / (double)10.0);
- if (tmp_total >= number_a)
- {
- actual_total = tmp_total - number_b;
- }
- else
- {
- actual_total = tmp_total;
- }
- return actual_total;
- }
- }
- }
2、运行效果
3、案例代码
Sale.zip
二、本实现方法存在问题分析
这种基本是最原始的面向过程式的写法,没有充分利用面向对象的强大功能。它存在几个弊端:这时基本没有面向对象的概念。其他问题保留,因为貌似也基本实现了需求。
阅读(2039) | 评论(0) | 转发(0) |