110,538
社区成员
发帖
与我相关
我的任务
分享
class Employee
{
double payAmt(int type)
{
double amt = 0;
switch (type)
{
case 1:
amt = 1;
break;
case 2:
amt = 2;
break;
default:
break;
}
return amt;
}
}
class Employee
{
int type;
public Employee(int type)
{
this.type = type;
}
void main()
{
IEmployee employee;
//type该如何使用
//这里是不是还需要条件语句来做判断……
//或者这里如何达到如上switch的作用,根据type判断是该new一个什么类
employee = new Engineer();
employee.PayAmt();
}
}
interface IEmployee
{
double PayAmt();
}
class Engineer : IEmployee
{
public double PayAmt()
{
return 3000;
}
}
class Salesman : IEmployee
{
public double PayAmt()
{
return 5000;
}
}
class Manager : IEmployee
{
public double PayAmt()
{
return 10000;
}
}
interface IEmployee
{
double PayAmt();
}
class Engineer : IEmployee
{
public double PayAmt()
{
return 3000;
}
}
class Salesman : IEmployee
{
public double PayAmt()
{
return 5000;
}
}
class Manager : IEmployee
{
public double PayAmt()
{
return 10000;
}
}
class Employee
{
//int type;
public IEmployee iEmployee = null;
public Employee(int type)
{
switch (type)
{
case 1:
iEmployee = new Engineer();
break;
case 2:
iEmployee = new Salesman();
break;
case 3:
iEmployee = new Manager();
break;
default:
break;
}
//this.iEmployee = iEmployee;
}
}
private void button1_Click(object sender, EventArgs e)
{
double value1 = new Employee(1).iEmployee.PayAmt();
double value2 = new Employee(2).iEmployee.PayAmt();
double value3 = new Employee(3).iEmployee.PayAmt();
}
interface IEmployee
{
double PayAmt();
}
class Engineer : IEmployee
{
public double PayAmt()
{
return 3000;
}
}
class Salesman : IEmployee
{
public double PayAmt()
{
return 5000;
}
}
class Manager : IEmployee
{
public double PayAmt()
{
return 10000;
}
}
class Employee
{
//int type;
public IEmployee iEmployee = null;
public Employee(IEmployee iEmployee)
{
this.iEmployee = iEmployee;
}
}
private void button1_Click(object sender, EventArgs e)
{
double value1 = new Employee(new Engineer()).iEmployee.PayAmt();
double value2 = new Employee(new Salesman()).iEmployee.PayAmt();
double value3 = new Employee(new Manager()).iEmployee.PayAmt();
}
Employee e = new Employee(new Engineer());
Employee e = new Employee(new Salesman());
Employee e = new Employee(new Manager());
employee = (IEmployee)Assembly.GetExecutingAssembly().CreateInstance("ConsoleApplication1.Engineer");
Employee e = new Employee(new Engineer());
public class Employee
{
IEmployee employee;
public Employee(IEmployee employee)
{
this.employee = employee;
}
public void main()
{
employee.PayAmt();
}
}
public interface IEmployee
{
double PayAmt();
}
public class Engineer : IEmployee
{
public double PayAmt()
{
return 3000;
}
}
public class Salesman : IEmployee
{
public double PayAmt()
{
return 5000;
}
}
public class Manager : IEmployee
{
public double PayAmt()
{
return 10000;
}
}
Employee e = new Employee(new Engineer());
e.main();