15-4 ���O���~��

Ãþ§O¥i¥H¦³Ä~©ÓÃö«Y¡A¨Ò¦p¡u¤H¡v¬O¤@ºØÃþ§O¡A¦Ó¡u¾Ç¥Í¡v¬O¥t¤@ºØÃþ§O¡A¦ý¥Ñ©ó¡u¾Ç¥Í¡v¬O¡u¤H¡v¯S¨Ò¡A¦]¦¹§Ú­Ì¥i±N¡u¤H¡v¬Ý¦¨¬O°ò¥»Ãþ§O¡]Base Class¡^¡A¦Ó¡u¾Ç¥Í¡v«h¬O­l¥ÍÃþ§O¡]Derived Class¡^¡A¦]¦¹¡u¾Ç¥Í¡vÃþ§O¥i¥HÄ~©Ó¡u¤H¡vÃþ§Oªº©Ê½è©M¤èªk¡Cµ½¥ÎÄ~©Ó¡A¥i¥HÅý§Ú­Ì¨Ï¥Î²³æªº¤è¦¡¨Ó´y­z¯u¹ê¥@¬Éªº¦UºØÃö«Y¡C

­YÀ˵ø§Ú­Ìªº½d¨Òµ{¦¡¥Ø¿ý¡A¥i¥H¬Ý¨ì¨â­Ó¥Ø¿ý¡G@person ©M @student¡A¨ä¤¤ @person ¬O´y­z¡u¤H¡vªºÃþ§O¡A¦Ó @student «h¬O´y­z¡u¾Ç¥Í¡vªºÃþ§O¡C¨C­Ó¤H³£¬O¥Ñ©m¦W¡B©Ê§O¡B¨­°ª¡BÅé­«¨Ó©w¸q¡]¬ÛÃö«Øºc¨ç¦¡¥i¨£ @person ¥Ø¿ý¤Uªº person.m¡^¡A®Ú¾Ú³o¨Ç°Ñ¼Æ¡A§Ú­Ì´N¥i¥H«Øºc¡u¤H¡vªºª«¥ó¡A½d¨Ò¦p¤U¡G

Example 1: 15-ª«¥ó¾É¦Vµ{¦¡³]­p/person01.mp1 = person('¤ý«Ø¥Á', '¨k', 1.93, 95) p2 = person('«À©ú', '¨k', 2.26, 134) fprintf('¤ý«Ø¥Áªº BMI = %g\n', bmi(p1)); fprintf('«À©úªº BMI = %g\n', bmi(p2));p1: ©m¦W = ¤ý«Ø¥Á, ©Ê§O = ¨k, ¨­°ª = 1.93 m, Åé­« = 95 kg p2: ©m¦W = «À©ú, ©Ê§O = ¨k, ¨­°ª = 2.26 m, Åé­« = 134 kg ¤ý«Ø¥Áªº BMI = 25.504 «À©úªº BMI = 26.2354

¦b¤W­z½d¨Ò¤¤¡Abmi() ¬O¤@­Ó person Ãþ§Oªº¤èªk¡A¥i¥H­pºâ¤@­Ó person ª«¥óªº BMI (Body Mass Index) ­È¡A©w¸q¦¨­«¶q¡]¥H¤½¤ç¬°³æ¦ì¡^¹ï¨­°ª¡]¥H¤½¤Ø¬°³æ¦ì¡^¥­¤èªº¤ñ­È¡C¦¹¥~¦b @person¥Ø¿ý¤U¡A§Ú­Ì¤]©w¸q¤FÅã¥Üª«¥óªº¨ç¦¡ display.m¡AŪªÌ¥i¥H¦Û¦æÀ˵ø¨ä¤º®e¡C

±µµÛ§Ú­Ì¦³¤@­Ó student Ãþ§O¡A³o¬O person Ãþ§Oªº­l¥ÍÃþ§O¡A©Ò¥H¥¦Ä~©Ó¤F©Ò¦³ person Ãþ§Oªº©Ê½è©M¤èªk¡AÄ~©ÓªºÃö«Y¥D­n¬O³W½d¦b student ªº«Øºc¨ç¦¡¡A¦p¤U¡G

Example 2: 15-ª«¥ó¾É¦Vµ{¦¡³]­p/@student/student.mfunction s = student(name, gender, height, weight, department, year) %STUDENT Student class constructor p = person(name, gender, height, weight); % Person class s.department = department; % student ¯S¦³ªº©Ê½è s.year = year; % student ¯S¦³ªº©Ê½è s = class(s, 'student', p); % ©w¸q s ¬° student ª«¥ó¡A¥BÄ~©Ó¦Û p ªºÃþ§O

¦b¤W­z«Øºc¨ç¦¡¤¤¡A¥i¥Hª¾¹D student Ãþ§O¦@¥]§t¤»­Ó©Ê½è¡]name, gender, height, weight, department, year¡^¡A¨ä¤¤«e¥|­Ó©Ê½è¡]name, gender, height, weight¡^¬OÄ~©Ó¦Û person Ãþ§O¡A¦Ó«á¨â­Ó©Ê½è¡]department, year¡^«h¬O student Ãþ§O¯S¦³ªº©Ê½è¡C¦¹¥~¡A¥Ñ©ó student Ä~©Ó person¡A¦]¦¹ student ¤]¥i¥H¨Ï¥Î©Ò¦³ person ªº¤èªk¡A½d¨Ò¦p¤U¡G

Example 3: 15-ª«¥ó¾É¦Vµ{¦¡³]­p/student01.ms1 = student('±i®xºÓ', '¨k', 1.84, 68, '·|­p¨t', 3) fprintf('±i®xºÓªº BMI = %g\n', bmi(s1));s1: ©m¦W = ±i®xºÓ, ©Ê§O = ¨k, ¨­°ª = 1.84 m, Åé­« = 68 kg ±i®xºÓªº BMI = 20.0851

¦pªG§AÀ˵ø @student ¥Ø¿ý¡A¥i¥Hµoı¦¹Ãþ§O¨S¦³©w¸q¥ô¦ó¤èªk¡A¦ý¥Ñ©ó student Ä~©Ó person¡A¦]¦¹¦b¤W­z½d¨Ò¤¤¡A student ª«¥ó s1 ·|¦Û°Ê¿ï¥Î person ªºÅã¥Ü¤èªk¡A¦P®É§Ú­Ì¤]¥i¥H©I¥s bmi() ¨ç¦¡¨Ó­pºâ s1 ª«¥óªº BMI ­È¡A¦¹¨ç¼Æ©w¸q©ó @person ¥Ø¿ý¤§¤U¡C¡]·íµM¡A§Ú­Ì¤]¥i¥H¦b @student ¥Ø¿ý¤U½s¼g¥t¤@­ÓÀÉ®× display.m¡A¥Î¨ÓÅã¥Ü student ª«¥ó¡A¦¹®É student ª«¥ó´N·|¿ï¥Î¦¹¤èªk¨ÓÅã¥Ü¡A¦Ó¤£·|¨Ï¥Î person ªºÅã¥Ü¤èªk¡C¡^


MATLABµ{¦¡³]­p¡G¶i¶¥½g