You are on page 1of 8

1/

package Inherrit;

/**

* @author Admin

*/

public class Animal {

protected int sochi; //số chi

protected String name;

@Override

public String toString() {

return "{"+ sochi +", " + name + "}";

public Animal(int sochi, String name) {

this.sochi = sochi;

this.name = name;

public Animal(){

public void setSochi(int sochi) {

this.sochi = sochi;

public void setName(String name) {


this.name = name;

public int getSochi() {

return sochi;

public String getName() {

return name;

public String Move(){

return "Phương thức di chuyển =";

1.2/

package Inherrit;

/**

* @author Admin

*/

public class Bird extends Animal{ //ko sinh cái mới, vt đè phương thức di chuyển

@Override

public String Move(){

return "Phương thức di chuyển bằng cách bay là chính";

//overloading: nạp chồng(cùng tên, khác nhau"kiểu trả về/tham số/số lượng tham số/thứ tự tham
số") các phuơng thức di chuyển
public String Move(int x){

if(x==0)return "Phương thức di chuyển bằng chân và bơi là chính";

else if(x==1)return "Phương thức di chuyển chỉ bằng cách đi";

else return "Phương thức di chuyển bằng tất cả mọi cách, bay và đi";

public String Move (String Name){

if(Name.startsWith("B"))return "Phương thức di chuyển bằng chân và bơi là chính ";

else return "Phương thức di chuyển bằng chân và Bay là chính";

1.3/

package Inherrit;

/**

* @author Admin

*/

public class MainAnimal {

public static void main(String[] args) {

Bird x= new Bird();

System.out.println(x.Move());

System.out.println(x.Move(1));

System.out.println(x.Move(5));

System.out.println(x.Move("Cong"));

System.out.println(x.Move("Bo Cau"));

2/
package Inherrit;

/**

* @author Admin

*/

public class HinhHoc { //Polygon - đa giác

protected String name;

protected int numofLine; //số cạnh

protected double[] Edge = new double[6]; //chiều dài của các cạnh

public double ChuVi(){ //hình tròn thì sẽ viết đè/ còn lại thì ko cần

double cv=0;

for(double x: Edge){ //vòng lặp duyệt qua các phần tử của mảng

cv=cv+x;

return cv;

public double Area(){ //diện tích

return 0;

//constructor

public HinhHoc(String name, int numofLine) {

this.name = name;

this.numofLine = numofLine;

public HinhHoc(){

public String getName() {


return name;

public int getNumofLine() {

return numofLine;

public void setName(String name) {

this.name = name;

public void setNumofLine(int numofLine) {

this.numofLine = numofLine;

2.2/

package Inherrit;

/**

* @author Admin

*/

public class Square extends HinhHoc{ //hình vuông

public Square(){

name="Hinh Vuong";

}
@Override

public double Area(){

return (Edge[0]*Edge[0]);

2.3/

package Inherrit;

/**

* @author Admin

*/

public class HinhThang extends HinhHoc{

public HinhThang(){

name="Hinh Thang";

public double Area(){

return (Edge[0]+Edge[1])*Math.sqrt(Math.pow(Edge[2],2)+Math.pow(Edge[3],2));

2.4/

package Inherrit;

/**

* @author Admin

*/
public class Circle extends HinhHoc{

public Circle(){

name="Hinh Tròn";

public double ChuVi(){

return 2*Math.PI*Edge[0];

2.5/

package Inherrit;

/**

* @author Admin

*/

public class MainHinhHoc {

public static void main(String[] args){

Square sq=new Square();

HinhThang ht= new HinhThang();

Circle c= new Circle();

System.out.println(sq.name+","+ ht.name +","+c.name);

sq.numofLine=4; //nếu 1 class derived đã viết đè thì gọi chương trình

double[] h1= new double[6]; //chương trình sẽ thực hiện phương thức viết đè

h1[0]=10;// nếu chưa nó sẽ gọi tiếp ở lớp super

sq.Edge=h1;//nếu tất cả đều ko thấy thì báo lỗi

System.out.println(sq.ChuVi()+","+sq.Area());

double[] h2= new double[6];


h2[0]=10;

c.Edge=h2;

System.out.println(c.ChuVi()+","+ c.Area());

You might also like