» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
Hello World-המשך
דף ראשי  מתחילים  Hello World  Hello World-המשך גרסה להדפסה

 

קטעי קוד מעניינים

 

הקטע הראשון מציג את השורה הראשונה של הגדרת המחלקה עבור המחלקה השולטת.

הגדרות המחלקה ידונו בפרוטרוט בהמשך.
כמו-כן, מובא דיון קצר בהמשך שיעור זה.

 

class hello1 { //define the controlling class

 

 

הקטע הבא מתחיל בהגדרת מתודת main(). הגדרות המתודות ידונו בפרוטרוט באחד השיעורים הבאים.

 

  
public static void main(String[] args){

 

 

הקטע הבא גורם לכך, שהמחרוזת Hello World תוצג על גבי התקן הפלט הסטנדרטי (המסך).
זוהי הוראה רבת עוצמה במיוחד. הבנת פעולתה היא צעד חשוב בהבנת גירסת
Java של תכנות מונחה-עצמים (OOP).

 

הוראה זו תידון בפירוט רב יותר בהמשך הקורס.

 

    System.out.println("Hello World");

 

 

הקטע הבא מסיים את מתודת main() וכן את הגדרת המחלקה עבור מחלקה בשם hello1.

 

  }//end main
}//End hello1 class

 

 

התוכנית במלואה

 

להלן התוכנית השלמה במלואה.

 

זוהי תוכנית אפליקציית Java.

 

לאחר ההידור, התוכנית יוצרת מחלקה בשם:

 

hello1.class

 

כאשר המפענח של Java מפעיל את המחלקה השולטת של האפליקציה באמצעות ההוראה הבאה בשורת הפקודה:

 

java hello1

 

המפענח מתחיל להריץ את התוכנית על-ידי הפעלת מתודת main במחלקה השולטת. מתודת main הינה מתודת-מחלקה שניתן להפעילה מבלי ליצור אובייקט של המחלקה.

 

התוכנית מציגה על המסך את המילים הבאות: 

Hello World

 

/*File hello1.java Copyright 1997, R.G.Baldwin
This is a Java application program .

When compiled, this program produces the class named:

hello1.class

When the Java interpreter is invoked upon the application's
controlling class using the following statement at the
command line:

java hello1

the interpreter starts the program by invoking the main
method defined in the controlling class. The main method is
a class method which can be invoked without the requirement
to instantiate an object of the class.

The program displays the following words on the screen:

Hello World

*********************************************************/
class hello1 { //define the controlling class
  //define main method
  public static void main(String[] args){
    //display text string
    System.out.println("Hello World");
  }//end main
}//End hello1 class.

 

 

הערות

 

Java תומכת בשלושה סגנונות של הערות:

 

**/ הערת תיעוד מיוחדת המשמשת את הכלי javadoc /*

*/ הערת מרובת-שורות בסגנון ++C/C/Java /*

// הערת שורה בודדת בסגנון ++C/C/Java

 

 

 

javadoc

 

הכלי  javadoc הינו תוכנית המשמשת ליצירת תיעוד של אפליקציות.

 

תיעוד כזה הוא שימושי ביותר עבור תיעוד מקוון או על המסך.

 

עליך להכיר את התיעוד הסטנדרטי עבור JDK.

 

השלד הכללי של תוכנית Java

 

השלד הכללי של כל תוכנית Java הינו הגדרת המחלקה.

 

כל המתודות (הפונקציות) והמשתנים נדרשים להיות מוגדרים בתוך הגדרת מחלקה.
אין אפשרות לקיומם של מתודות העומדות בפני עצמן או משתנים גלובליים.

 

שמות קבצים וסיומות קבצים

 

שמה של המחלקה השולטת חייב להיות זהה לשמו של קובץ ה‑source המכיל אותה.
הסטודנטים של פרופ' בולדווין נדרשים לארגן את הקבצים בדרך כזו.

 

קבצים המכילים את קוד ה‑source ב‑Java הם בעלי הסיומת java.

 

מתודת main()

 

הגדרת המחלקה השולטת של אפליקציה נדרשת לכלול את מתודת main.

 

קבצי מחלקה

 

שם הקובץ, שנוצר על-ידי המהדר ומכיל את המחלקה השולטת, זהה לשמה של המחלקה השולטת, והוא בעל הסיומת class.

 

ניתן ליצור מספר רב של קבצי מחלקה

 

המהדר של Java יוצר קובץ נפרד עבור כל הגדרת מחלקה הנכללת באפליקציה או ב‑applet,
גם אם שתי הגדרות מחלקה, או יותר, נכללות בקובץ
source יחיד.

 

באופן כזה, ההידור של אפליקציה ארוכה עשוי ליצור מספר רב של קבצי מחלקה שונים.

 

מהם קבצי Jar?

 

ניתן להשתמש באפשרות הקרויה קובץ Jar על מנת למזג את כל הקבצים הללו לקובץ בודד, כדי שניתן יהיה לאחסנו, להפיצו ולהעבירו בצורה חסכונית יותר.

 

מתודת main() היא סטטית

 

המחלקה השולטת של אפליקציית Java נדרשת להכיל מתודה סטטית בשם main.

 

כאשר אתה מריץ אפליקציה באמצעות המפענח, עליך לציין את שמו של קובץ המחלקה,
שאותו ברצונך להריץ.

 

בשלב זה, המפענח מפעיל את מתודת main, שהוגדרה בקובץ המחלקה באותו שם.
הדבר אפשרי, משום שניתן להפעיל מתודת-מחלקה מבלי ליצור אובייקט של המחלקה.

 

מתודת main, שהוגדרה בהגדרת המחלקה, שולטת בזרימת התוכנית.

 

חומר ב‑++C

 

כאמור לעיל, מובא גם חומר ב‑++C לשם השוואה, וזאת עבור אלה המכירים את ++C ועושים את המעבר ל‑Java. תלמידי Java, לעומת זאת, אינם נדרשים ללמוד את מה שנוגע בלעדית לשפת ++C.

 

 

 

שתי גירסאות ב-++C של Hello World

 

התוכנית הבאה ב‑++C מציגה גם-כן את המילים "Hello World" על המסך. התוכנית אינה משתמשת במחלקות כלשהן, ועל כן היא נבדלת משמעותית מתוכנית Java. לאחר מכן מובאת גירסה שונה של התוכנית בשפת ++C, המשתמשת במחלקות באופן דומה לזה של תוכנית ה‑Java שהובאה לפני כן.

 

 

זוהי תוכנית  ב‑++C היוצרת פלט זהה לזה של תוכנית ה‑Java בשם hello1.java.

 

לאחר ההידור, התוכנית יוצרת קובץ בשם

hello1.exe

 

כאשר מבוצע הקובץ hello1.exe, התוכנית מציגה על המסך את המילים הבאות:

Hello World

 

/*File hello1.cpp Copyright 1997, R.G. Baldwin
This is a C++ program which produces the same output as the
Java program named hello1.java.

When compiled, this program produces the file named 
hello1.exe

When the exe file is executed, the program displays the 
following words on the screen:

Hello World
**********************************************************/

#include <iostream.h
void main()
{
  cout << "Hello World";
}//end main
//End C++ program

 

התוכנית הבאה ב‑++C בנויה באופן דומה לזה של תוכנית ה‑Java שהובאה לפני כן. התוכנית מכילה מחלקה בעלת פונקציה סטטית חברה במחלקה, אשר מציגה את המילים "Hello World".
כמו ב‑
Java, גם ב‑++C ניתן להפעיל פונקציות סטטיות חברות במחלקה, מבלי ליצור אובייקט של המחלקה.

 

כל אימת שמבוצעת תוכנית ++C עצמאית, פונקציית main תהיה תמיד הפונקציה הראשונה שתבוצע. בתוכנית זו ההוראה בפונקציית main מפעילה פונקציה סטטית חברה במחלקה, באופן דומה לזה שבו המפענח ב‑Java מפעיל מתודת main סטטית במחלקה השולטת של האפליקציה.

 

 

זוהי תוכנית ++C היוצרת פלט זהה לזה של תוכנית ה‑Java בשם hello1.java, והיא בנויה באופן שמזכיר את תוכנית ה‑Java יותר מאשר את תוכנית ה‑++C הקודמת בשם hello1.cpp.

 

התוכנית מגדירה מחלקה בשם hello2 (בדומה למחלקה שב‑hello1.java), המכילה פונקציית "מחלקה" סטטית, או פונקציה סטטית חברה במחלקה, אשר מציגה את המחרוזת.

 

ב‑++C ניתן לקרוא לפונקציות סטטיות חברות במחלקה, מבלי ליצור אובייקט של המחלקה.

 

ההוראה ב‑main() קוראת לפונקציה סטטית חברה במחלקה, מבלי ליצור אובייקט.

 

/*File hello2.cpp Copyright 1997, R.G.Baldwin
This is a C++ program which produces the same output as the
Java program named hello1.java and is structured to look 
more like the Java program than the previous C++ program 
named hello1.cpp.

This program defines a class named hello2 (similar to the 
class in hello1.java) which contains a static or "class" 
member function which displays a string.

Static member functions in C++ can be called without
instantiating an object of the class.

A statement in main() calls the static member function 
without instantiating an object.
*/
#include <iostream.h
class hello2 { //define the class named hello2
  public: //switch from private to public access
  //define a static member function which will display 
  // a string
  static void classMain() {cout << "Hello World";}
};//End class hello2.
void main(){
  //Call the static member function without an object to
  // display the string.
  hello2::classMain();}//end main
//End C++ program

 

 

 

 17-12-03 / 18:26  נוצר ע"י רונית רייכמן  בתאריך 
 Hello World - הקודםהבא - שאלות לסיכום 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 3