برنامه نویسی

سناریو-1،2،3

توجه: هر جا که لازم است روش اصلی را اضافه کنید.

هر یک از سناریوهای ارائه شده در اینجا برای درک خوب OOP (برنامه نویسی شی گرا) از طریق جاوا هستند.

سناریوی شماره 1:

درک مورد انتظار: اصلاح کننده های دسترسی، وراثت منفرد، روش های گیرنده، بارگذاری بیش از حد سازنده
1) یک کلاس با نام “Trainer” ایجاد کنید.
– دارای متغیرهای نمونه پیش فرض String dept, institute
– مقادیر – “Java”، “Payilagam” را به آنها اختصاص دهید
– حقوق بین الملل متغیر نمونه خصوصی داشته باشید
– 10000 به عنوان ارزش حقوق تعیین کنید.
– ایجاد روش دریافت کننده برای دستمزد.
– دارای آموزش متد نمونه با void به عنوان نوع داده بازگشتی
– یک عبارت چاپی را در متد training() اضافه کنید

  • روش اصلی را اضافه کنید [public static void main(String[] args)]– نمونه ای را به عنوان 'trainerKumar' نامگذاری کنید و “CSE”، “payilagam” را به عنوان آرگومان های آن ارسال کنید. – دسته بالای خط با سازنده منطبق.

2) یک زیر کلاس “SQLTrainer” در زیر “Trainer” ایجاد کنید.
– روش اصلی را در آن داشته باشید.
– رم نمونه ای برای این کلاس ایجاد کنید
– دسته با سازنده سوپر کلاس مناسب
– به متغیرهای نمونه کلاس والد دسترسی پیدا کنید
– فراخوانی آموزش متد نمونه کلاس والد()
– دسترسی به حقوق و دستمزد با استفاده از روش دریافت کننده در کلاس والد

package B15;

public class Trainer {
    String dept = "java";
    String institute = "payilagam";
    private int salary = 10000;

    Trainer(String dept, String intitute) {
        this.dept = dept;
        this.institute = institute;
    }

    public static void main(String[] args) {
        Trainer trainerkumar = new Trainer("cse", "payilagam");
        String a = trainerkumar.traing();
        trainerkumar.salary();
        System.out.println(a);
    }

    public void salary() {

        System.out.println("salary = " + salary);

    }

    public String traing() {
        return dept + " " + institute;
    }
}

خروجی:

حقوق = 10000
cse payilagam

package B15;

public class SQLtrainer extends Trainer {
    SQLtrainer(String dept, String intitute) {
        super(dept, intitute);

    }

    public static void main(String[] args) {
        SQLtrainer ram = new SQLtrainer("cse111", "srit");
        String a = ram.traing();
        System.out.println(a);
        ram.salary();

        System.out.println(ram.dept);
        System.out.println(ram.institute);
    }

}

خروجی

cse111 payilagam
حقوق = 10000
cse111
payilagam

سناریوی شماره 2:

درک مورد انتظار: رابط، کلاس، متغیرهای استاتیک، اتصال پویا
1) یک رابط به نام “بازیگر” ایجاد کنید
– دارای متغیرهای boolean makeUpRequired
– تعیین مقدار “true” برای “makeUpRequired”
– آدرس رشته متغیر داشته باشید.
– مقداری را به عنوان “Chennai” به آدرس اختصاص دهید.
– متدهای void act()، dance()، sing() داشته باشید

2) کلاسی به نام ActorSivakumar با متد main ایجاد کنید
– رابط “Actor” را برای این کلاس پیاده سازی کنید.
– تعاریف خود را برای متدها از رابط ارائه دهید
– دارای آدرس رشته متغیر ثابت.
– مقداری را به آدرس “Coimbatore” اختصاص دهید.
– دارای روش نمونه 'speaking()' با نوع داده بازگشتی باطل.
– نمونه ای برای ActorSivakumar به صورت زیر ایجاد کنید
ActorSivakumar as = ActorSivakumar جدید (65، “Audi Car”)
– دسته با سازنده مناسب
– به تمام متدهای کلاس ActorSivakumar دسترسی داشته باشید
– دسترسی به آدرس متغیر و چاپ مقدار
– یک نمونه دیگر از رابط “Actor” با استفاده از رویکرد اتصال پویا ایجاد کنید
Actor ac = new Sivakumar();
– دسته با سازنده مناسب
– روش های دسترسی در کلاس ActorSivakumar.
– با استفاده از نمونه 'ac' به آدرس متغیر دسترسی پیدا کنید و مقدار را چاپ کنید
– تفاوت بین دو نمونه را مشاهده و یادداشت کنید

package B15;

public interface  Actor {
    boolean makeupRequired = true;
    String address = "chennai";


    void act();

    void dance();

    void sing();

}
package B15;

public class ActorSivakumar implements Actor {
    static String address = "coimbatore";
    int num;
    String car;

    public ActorSivakumar(int num, String car) {
        this.num = num;
        this.car = car;

    }

    public static void main(String[] args) {
        ActorSivakumar as = new ActorSivakumar(65, "Audi car");
        Actor ac = new ActorSivakumar(55, "benz car");// dynamic binding
        as.act();
        as.speaking();
        as.dance();
        as.sing();
        as.sell();
        // ac.speaking();//dynamic binding
        ac.act();
        ac.dance();
        ac.sing();
        // ac.sell();//dynamic binding
        System.out.println(ActorSivakumar.address);
        System.out.println(Actor.address);
        System.out.println(as.makeupRequired);
    }

    public void sell() {

        System.out.println(num + "\n" + car);
    }

    public void speaking() {
        System.out.println("sivakumar is speaking");

    }

    public void act() {
        System.out.println("sivakumar is acting");

    }

    public void dance() {
        System.out.println("sivakumar is dancing");

    }

    public void sing() {
        System.out.println("sivakumar is singing");

    }

}

خروجی:
سیواکومار در حال بازیگری است
sivakumar صحبت می کند
سیواکومار در حال رقصیدن است
sivakumar در حال آواز خواندن است
65
ماشین آئودی
سیواکومار در حال بازیگری است
سیواکومار در حال رقصیدن است
sivakumar در حال آواز خواندن است
coimbatore
چنای
درست است

سناریوی شماره 3:

درک مورد انتظار: انتزاع، وراثت، کلیدواژه بازگشتی، آرگومان های روش، سازنده
1) یک کلاس انتزاعی به نام “SmartPhone” ایجاد کنید
– روش های انتزاعی زیر را اضافه کنید
– تماس int (int ثانیه)
– void sendMessage()
– Void receiveCall()
– اضافه کردن متد غیر انتزاعی void browse()
– چاپ «مرور تلفن هوشمند» در تعریف متد browse().
– سازنده را به صورت زیر داشته باشید.
تلفن هوشمند عمومی ()
{
System.out.println (“تلفن هوشمند در دست توسعه”);
}
2) کلاسی به نام FactoryDemo به عنوان زیر کلاس انتزاعی گوشی هوشمند ایجاد کنید
– روش های انتزاعی زیر را اضافه کنید
– void verifyFingerPrint()
– void providePattern()
– اضافه کردن متد غیر انتزاعی void browse()
– چاپ “Factory Demo browsing” در تعریف متد browse().
– متغیر boolean isOriginalPiece را اضافه کنید و “false” را به عنوان مقدار تعیین کنید.
– متغیر استاتیک int price را اضافه کنید و مقدار را 0 تنظیم کنید.
3) کلاسی به نام 'Samsung' با متد main به عنوان زیر کلاس FactoryDemo ایجاد کنید.
– اضافه کردن روش های اجرا نشده
– متغیر static int price را اضافه کنید و مقدار را 5000 تنظیم کنید.
– نمونه ای برای کلاس سامسونگ به نام sam ایجاد کنید
– با استفاده از نمونه sam به روش browse() دسترسی پیدا کنید.
– با استفاده از نمونه sam به متغیر قیمت دسترسی پیدا کنید.
– مشاهده کنید که کدام متد فراخوانی شده و یادداشت کنید.

package B15;

public abstract class Smartphone {

    public Smartphone()// constructor
    {
        System.out.println("Smartphone under development");
    }

    public abstract int call(int second);

    public abstract void sendMessage();

    public abstract void receivecall();

    public void browse()

    {
        System.out.println("smartphone browsing");
    }
}

package B15;

public abstract class FactoryDemo extends Smartphone {

    public abstract void fingerprint();

    public abstract void providepattern();

    public void browse()//over ridding

    {
        boolean originalpiece = false;// local variable//access within method only
        int price = 0;// local variable//access within method only
        System.out.println("FactoryDemo browsing");

    }
}
package B15;

public class Samsung extends FactoryDemo {
    static int price = 5000;

    public static void main(String[] args) {
        Samsung sam = new Samsung();
        sam.browse();// over ridded method only taken
        sam.fingerprint();
        sam.providepattern();
        int b = sam.call(100);//return
        sam.receivecall();
        System.out.println("b = " + b);
        System.out.println("pric = "+sam.price);

    }

    public void fingerprint() {
        System.out.println("fingerprint");

    }

    public void providepattern() {
        System.out.println("providepattern");

    }

    public int call(int second) {

        return second;//understanding return keyword
    }

    public void sendMessage()//understanding abstraction
    {

    }

    public void receivecall() {
        System.out.println("receivecall");

    }

}

خروجی:

گوشی هوشمند در دست توسعه
مرور FactoryDemo
اثر انگشت
ارائه الگو
دریافت تماس
b = 100
پیش = 5000

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا