Hiển thị các bài đăng có nhãn Lập trình hướng đối tượng. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Lập trình hướng đối tượng. Hiển thị tất cả bài đăng

Thứ Ba, 9 tháng 7, 2013

Java: Xây dựng lớp Hình tròn với 2 thuộc tính: lớp Diem để xác định Tâm của hình tròn, Bán kính của hình tròn

1. Hãy xây dựng lớp Diem cùng với chứa các đối tượng điểm trong mặt phẳng và xây dựng phương thức sau:
        - Toán tử tạo lập
        - Phương thức in một đối tượng thuọc lớp Diem
        - Tính khoảng cách giữa hai điểm
2. Xây dựng lớp HinhTron chứa các đốI tượng là các hình tròn với 2 thuộc tính là 1 đối tượng thuộc lớp Diem để xác định tâm của hình tròn một giá trị nguyên để xác định bán kinh của hình tròn. Cài đặt các phương thức:
        - Xây dựng các toán tử tạo lập: HinhTron(),
        - HinhTron(Diem d, int bk)
        - HinhTron(int bk , Diem d)
        - Tính chu vi, diện tich hình tròn

import java.io.*;
class Diem{
        protected double hd,td;
        Diem (){}
        Diem (int a,int b){
               hd=a;
               td=b;
        }
        void in (){
               System.out.println("("+hd+","+td+")");
        }
        double tinhkc(Diem d1,Diem d2){
               double kc=0;
               kc=Math.sqrt(Math.pow(d1.hd-d2.hd,2)+Math.pow(d1.td-d2.td,2));
               return kc;
        }                          
}
public class HinhTron{
        private Diem O = new Diem();
        private int R;
        HinhTron(){}
        HinhTron(Diem d,int bk){
               O=d;
               R=bk;
        }
        HinhTron(int bk,Diem d){
               O=d;
               R=bk;
        }
        double chuvi(){
                double cv=0;
               cv=2*Math.PI*R;
               return cv;     
        }
        double dtich(){
                double dt;
                dt=R*R*Math.PI;
                return dt;
        }
        static String nhapgt() throws IOException{
                String str;
               InputStreamReader isr = new InputStreamReader(System.in);
               BufferedReader br = new BufferedReader(isr);
               str= br.readLine();
               return str;
        }
        static Diem nhapdiem() throws IOException{
               int a,b;
               System.out.println("Toa do tam: ");
               System.out.print("Hoanh do: ");
               a=Integer.valueOf(nhapgt()).intValue();
               System.out.print("Tung do: ");
               b=Integer.valueOf(nhapgt()).intValue();
               Diem nd=new Diem(a,b);
               return nd;
        }
        static HinhTron nhapht() throws IOException{
               int bk;
               Diem tam=new Diem();
               tam=nhapdiem();
               System.out.print("Nhap do dai ban kinh: ");
               bk=Integer.valueOf(nhapgt()).intValue();
               HinhTron ht=new HinhTron(tam,bk);
               return ht;
        }
        public static void main(String args[]) throws IOException{     
               HinhTron HT=new HinhTron();
               HT=nhapht();
               System.out.println("Chu vi: "+HT.chuvi());
               System.out.println("Dien tich : "+HT.dtich());
        }     
}

Thứ Bảy, 6 tháng 7, 2013

Java: Xây dựng lớp Phân Số và các Hàm toán học (cộng, trừ, nhân, chia, nghịch đảo) của Phân số


Thiết kế lớp PhanSo (Phân số) gồm có:
        + 2 thuộc tính tử số và mẫu số thuộc kiểu nguyên
        + Các phương thức:
               - Phương thức khởi tạo.
               - Phương thức in phân số.
               - Phương thức nghịch đảo phân số.
               - Phương thức trả về giá trị thực của phân số
               - Hàm cộng, trừ, nhân, chia 2 phân số.
        + Phương thức main() sử dụng lớp PhanSo.
-------------------------------------------- 
import java.io.*;
public class PhanSo{
        protected int ts,ms;
        PhanSo(){
        }
        PhanSo(int t, int m){
               ts=t;
               ms=m;
        }
        static int nhapgt() throws IOException{            
               InputStreamReader isr = new InputStreamReader(System.in);
               BufferedReader br = new BufferedReader(isr);
               String str = br.readLine();
               return Integer.valueOf(str).intValue();
        }     
        PhanSo nhapps(int x) throws IOException{
               int tu,mau;
               System.out.println("Nhap phan so thu: " +x);
               System.out.print("Tu so: ");
               tu=nhapgt();
               System.out.print("Mau so: ");
               do{
                       mau=nhapgt();
                       if(mau==0) System.out.print("Nhap lai mau so");
               }while(mau==0);
               PhanSo ps = new PhanSo(tu,mau);
               return ps;
        }
        static int UCLN(int a, int b){
               while(a!=b){
                       if(a>b) a=a-b;
                       else b=b-a;
               }
               return a;
        }
        static PhanSo toigian(PhanSo ps){
               PhanSo phanso = new PhanSo();
               phanso.ts = ps.ts/UCLN(Math.abs(ps.ts),Math.abs(ps.ms));
               phanso.ms = ps.ms/UCLN(Math.abs(ps.ts),Math.abs(ps.ms));
               return phanso;
        }
        static PhanSo tong(PhanSo ps1, PhanSo ps2){
               PhanSo phanso = new PhanSo();
               phanso.ts= ps1.ts*ps2.ms + ps2.ts*ps1.ms;
               phanso.ms= ps1.ms*ps2.ms;
               if(phanso.ts!=0)
                       phanso=toigian(phanso);
               return phanso;
        }
        static PhanSo hieu(PhanSo ps1, PhanSo ps2){
               PhanSo phanso = new PhanSo();
               phanso.ts = ps1.ts*ps2.ms - ps2.ts*ps1.ms;
               phanso.ms = ps1.ms*ps2.ms;
               if(phanso.ts!=0)
                       phanso = toigian(phanso);
               return phanso;
        }
        static PhanSo tich(PhanSo ps1, PhanSo ps2){
               PhanSo phanso = new PhanSo();
               phanso.ts = ps1.ts*ps2.ts;
               phanso.ms = ps1.ms*ps2.ms;
               if(phanso.ts!=0)
                       phanso = toigian(phanso);
               return phanso;
        }
        static PhanSo thuong(PhanSo ps1,PhanSo ps2){
               PhanSo phanso=new PhanSo();
               phanso.ts = ps1.ts*ps2.ms;
               phanso.ms = ps1.ms*ps2.ts;
               if(phanso.ts!=0)
                       phanso=toigian(phanso);
               return phanso;
        }
        static void Hienthi(PhanSo ps){
               if(ps.ts==0 || ps.ms==1) System.out.print(ps.ts);
               else System.out.println(ps.ts+"/"+ps.ms);
        }
        public static void main(String args[]) throws IOException{
               PhanSo ps1 = new PhanSo();
               PhanSo ps2 = new PhanSo();
               ps1=ps1.nhapps(1);
               ps2=ps2.nhapps(2);
               if(ps1.ts!=0)
                       ps1=toigian(ps1);
               if(ps2.ts!=0)
                       ps2=toigian(ps2);
               System.out.println("Phan so 1 o dang toi gian: "); Hienthi(ps1);
               System.out.println();
               System.out.println("Phan so 2 o dang toi gian: "); Hienthi(ps2);
               System.out.println();
               System.out.print("Phan so tong: "); Hienthi(tong(ps1,ps2));
               System.out.print("Phan so hieu: "); Hienthi(hieu(ps1,ps2));
               System.out.print("Phan so tich: "); Hienthi(tich(ps1,ps2));
               if (ps2.ts!=0){
                       System.out.print("Phan so thuong(phan so 1/phan so 2): ");
                       Hienthi(thuong(ps1,ps2));
               }
               else System.out.print("Khong the thuc hien phep chia phan so 1/phan so 2 ");
                       System.out.println();
               if (ps1.ts!=0){
                       System.out.print("Phan so thuong(phan so 2/phan so 1): ");
                       Hienthi(thuong(ps2,ps1));
                }
               else System.out.print("Khong the thuc hien phep chia phan so 2/phan so 1 ");
                       System.out.println();
            }

Thứ Hai, 24 tháng 6, 2013

Java: Xây dựng lớp Tam giác được xác định bởi 3 Điểm trong Mặt phẳng


1. Hãy xây dựng lớp Diem cùng với các đối tượng điểm trong mặt phẳng và các phương thức sau:
        - Phương thức khởi tạo
        - Phương thức in một đối tượng Diem
        - Tính khoảng cách giữa hai điểm
2. Mỗi tam giác trong mặt phẳng được xác định bởi 3 điểm. Hãy xây dựng lớp TamGiac với 3 thuộc tính riêng là 3 đối tượng thuộc lớp Diem và các phương thức:
        - Các phương thức khởi tạo
        - Tính diện tích tam giác
        - Tính chu vi của tam giác
-------------------------------------------------- 
import java.io.*;
class Diem{
        protected double hd,td;
        Diem(){}
        Diem(double a, double b){
               hd=a;
               td=b;
        }
        void in(){
               System.out.println("("+hd+","+td+")");
        }
        double tinhkc(Diem d1, Diem d2){
               double kc=0;
               kc=Math.sqrt(Math.pow(d1.hd-d2.hd,2)+Math.pow(d1.td-d2.td,2));
               return kc;
        }     
}
public class TamGiac{
        private Diem A = new Diem();
        private Diem B = new Diem();
        private Diem C = new Diem();
        double AB,BC,AC;
        TamGiac(){}
        TamGiac(Diem d1, Diem d2, Diem d3){
               A=d1;
               B=d2;
               C=d3;
        }     
        double Chuvi(){
               double cv=0;
               cv=AB+BC+AC;
               return cv;
        }
        double Dientich(){
               double dt;
               float p;
               p=(float)(AB+BC+AC)/2;
               dt=Math.sqrt(p*(p-AB)*(p-AC)*(p-BC));
               return dt;
        }
        static String nhapgt() throws IOException{
                String str;
               InputStreamReader isr = new InputStreamReader(System.in);
               BufferedReader br = new BufferedReader(isr);
               str= br.readLine();
               return str;
        }
        static Diem nhapdiem(String x) throws IOException{
               int a,b;
               System.out.println("Diem "+x);
               System.out.print("Hoanh do: ");
               a=Integer.valueOf(nhapgt()).intValue();
               System.out.print("Tung do: ");
               b=Integer.valueOf(nhapgt()).intValue();
               Diem nd = new Diem(a,b);
               return nd;
        }
        static TamGiac nhaptgiac() throws IOException{
               Diem d1=new Diem();
               Diem d2=new Diem();
               Diem d3=new Diem();
               d1=nhapdiem("A");
               d2=nhapdiem("B");
               d3=nhapdiem("C");
               TamGiac tg=new TamGiac(d1,d2,d3);
               tg.AB=d1.tinhkc(tg.A,tg.B);
               tg.AC=d1.tinhkc(tg.A,tg.C);
               tg.BC=d1.tinhkc(tg.B,tg.C);
               return tg;
        }     
        public static void main(String args[]) throws IOException{
               TamGiac TG = new TamGiac();
               TG = nhaptgiac();
               System.out.println("Chu vi: "+ TG.Chuvi());
               System.out.println("Dien tich : "+ TG.Dientich());
        }     
}

Thứ Ba, 26 tháng 3, 2013

Code C#: Xây dựng lớp trừu tượng và cách ghi đè phương thức trừu tượng ở lớp kế thừa


Xây dựng lớp trừu tượng Hình có thuộc tính PI, phương thức trừu tượng: TinhDienTich và TinhTheTich.
- Xây dựng lớp HinhTron kế thừa từ lớp Hinh, cài đặt phương thức ảo để tính diện tích, thể tích của hình tròn.
- Xây dựng lớp HinhLapPhuong kế thừa từ lớp Hinh, cài đặt phương thức ảo để tính diện tích, tính thể tích của hình lập phương.
namespaceLop_TruuTuong{
    abstract public class Hinh {
        protecteddouble PI = 3.14159;
        abstractpublic doubleTinhDienTich();
        abstractpublic doubleTinhTheTich();
    }
    public class HinhTron : Hinh {
        privatedouble bankinh;
        publicHinhTron(double r){
            this.bankinh = r;
        }
        public override doubleTinhDienTich(){
            returnPI * bankinh * bankinh;
        }
        public override doubleTinhTheTich() {
            return0;
        }
    }
    public class HinhLapPhuong : Hinh {
        privatedouble a, b, c;
        publicHinhLapPhuong(double a, double b, double c) {
            this.a = a;
            this.b = b;
            this.c = c;
        }
        public override doubleTinhDienTich() {
            return2*(a*b + b*c + c*a);
        }
        public override doubleTinhTheTich() {
            returna * b * c;
        }
    }
    class Program
    {       
        public static void Main()
        {
            HinhTronht1 = new HinhTron(5);
            HinhLapPhuonghlp1 = new HinhLapPhuong(2, 3, 4);
            Console.WriteLine("Dien tich hinh tron: {0}. The tich hinh tron: {1}",ht1.TinhDienTich(),ht1.TinhTheTich());
            Console.WriteLine("Dien tich hinh lap phuong: {0}. The tich hinh lap phuong: {1}",hlp1.TinhDienTich(),hlp1.TinhTheTich());
            Console.ReadLine();           
        }
    }
}

Bài đăng phổ biến