址、卡号、消费额度、可以享受的打折度等多种个人信总:而CustomerDemo类中建立3个 消费者,对其分别进行操作,模拟其行为。运行后效果如图4-14所示 在前几节介绍了面向对象的基本概念,包括 类、对象、属性以及方法。在这个基础上,用两 个面向对象的简单程序,继续让读者充分体会面 向对象编程的方法。 实现思 简单模拟了一个商店客户折扣卡的功能,自 定义Customer类用来保存在某个商店中的客户 的折扣卡信总。在主类CustomerDemo中,创建 Customer类的一个数组对象,该数组中包含了 个Cu tome 的对象,用米保存三个不同的消费者 各自持有的折扣卡信息。通过这 三个对象 可以 根据用户消费的金额来改变用户在本店中所能享 受的折扣价格。 图414实验43运行结果 关键代码如下所示 Customer customer[】·new Custoner[3]; Custoner 1]=new customer(c0002", Shang eya hoo.c ne "c0003,g r01l112800.00 customer [0].setDiscount ( //customer[1]11688.00 customer [1].setDiscount () //customer [2]1 980.00 tomer21,by980.00 customer [21.setDiacount () for (inti=0;<customer.length:i++) syaten-out.( getcardID()) address "+cus tone
11 址、卡号、消费额度、可以享受的打折度等多种个人信息;而 CustomerDemo 类中建立 3 个 消费者,对其分别进行操作,模拟其行为。运行后效果如图 4-14 所示。 实验目的 在前几节介绍了面向对象的基本概念,包括 类、对象、属性以及方法。在这个基础上,用两 个面向对象的简单程序,继续让读者充分体会面 向对象编程的方法。 实现思路 简单模拟了一个商店客户折扣卡的功能,自 定义 Customer 类用来保存在某个商店中的客户 的折扣卡信息。在主类 CustomerDemo 中,创建 Customer 类的一个数组对象,该数组中包含了三 个 Customer 的对象,用来保存三个不同的消费者 各自持有的折扣卡信息。通过这三个对象,可以 根据用户消费的金额来改变用户在本店中所能享 受的折扣价格。 关键代码如下所示: // Cu st om er Cus to me r cu sto me r[ ] = ne w C us to me r[ 3] ; pub li c Cu st ome rD em o( ) { // C us tom er cu st om er [0 ] = n ew C us to mer (" c0 00 1" ," wan gx yw ", "B eiJ in g" ," wa ng xyu e@ cn .i bm .c om" ); cu st om er [1 ] = n ew Cus to me r( "c 00 02" ," Xu Qu an "," Sh an gH ai ", "ch un ti ch a@ ya hoo .c om ") ; cu st om er [2 ] = n ew C us tom er (" c0 00 3" ,"X u Gu an g Yan g" ," Be iJ ing ", "x ug y@ ho tma il .c om ") ; //customer[0] 2 80 0. 00 cu st om er [0 ].b uy (2 80 0. 00 ); // cu st om er [0 ].s et Di sc ou nt (); //customer [1] 1 68 8. 00 cu st om er [1 ].b uy (1 68 8. 00 ); // cu st om er [1 ].s et Di sc ou nt (); //customer[2] 9 80 .00 cu st om er [2 ].b uy (9 80 .0 0) ; // cu st om er [2 ].s et Di sc ou nt (); // fo r (i nt i = 0; i < c us tom er .l en gt h; i+ +) { S ys te m. out .p ri nt ln (" cus to me r[ "+ i+ "]" ); S ys te m. out .p ri nt ln (" car dI D: "+ cu st ome r[ i] .g et Ca rdI D( )) ; S ys te m. out .p ri nt ln (" nam e: "+ cu st om er[ i] .g et Na me ()) ; S ys te m. out .p ri nt ln (" cos t: "+ cu st om er[ i] .g et Co st ()) ; S ys te m. out .p ri nt ln (" dis co un t: "+ cu sto me r[ i] .g et Dis co un t( )* 10 ); S ys te m. out .p ri nt ln (" add re ss :" +c us tom er [i ]. ge tA ddr es s( )) ; S ys te m. out .p ri nt ln (" ema il :" +c us to mer [i ]. ge tE ma il( )+ " \n" ); } } 4-14 4-3
class Customer private string cardID: private String name address private double discount -1;// pubiic Customer(string id,string name,String add,string emal) 111111,111110 0t>2000.001 discount -0.05 /八:i111111111i () PcstaggetcaraD0 this.email.email;) this.nane=nae:】 通过javac、java等命令编译并运行程序,运行程序结果如图4-14所示。 12
12 cla ss C us to mer { pri va te S tr ing c ar dI D; // pri va te S tr ing n am e; // pri va te d ou ble c os t = 0; // pri va te S tr ing a dd re ss ; // pri va te S tr ing e ma il ; // ema il pri va te d ou ble d is co un t = 1 ; // pub li c Cu st ome r( St ri ng i d,S tr in g na me ,St ri ng a dd ,S tri ng e ma il ) { ca rd ID = i d; th is .n am e = n am e; ad dr es s = add ; th is .e ma il = em ai l; } // pub li c vo id bu y( do ub le c ost ) { t hi s. co st += c os t; } // pub li c vo id se tD is co un t( ) { if (c os t> 20 00. 00 ) d is co un t -= 0. 1; el se i f( co st> 10 00 .0 0) d is co un t -= 0. 05 ; } // pub li c St ri ng ge tA dd re ss () { r et ur n ad dre ss ;} pub li c vo id se tA dd re ss (S tri ng a dd re ss ) { t hi s. ad dr ess = a dd re ss ;} // pub li c St ri ng ge tC ar dI D( ) { r et ur n ca rdI D; } pub li c vo id se tC ar dI D( St rin g ca rd ID ) { t hi s. ca rd ID = ca rd ID ;} // pub li c do ub le ge tC os t( ) { r et ur n co st; } // pub li c do ub le ge tD is co un t() { r et ur n di sco un t; } // pub li c St ri ng ge tE ma il () { r et ur n em ail ; } pub li c vo id se tE ma il (S tr ing e ma il ) { t hi s. em ai l = e ma il ; } // pub li c St ri ng ge tN am e( ) { r et ur n na me; } pub li c vo id se tN am e( St ri ng na me ) { t hi s. na me = na me ;} } 通过 javac、java 等命令编译并运行程序,运行程序结果如图 4-14 所示