آموزشاخبار

غلط‌نامه

در فیلم‌ها و اسلایدهای آموزشی جاوا، دو نکته ظریف به اشتباه بیان شده است که در این مطلب قصد داریم این موارد را اطلاع‌رسانی کنیم. بنده (صادق علی‌اکبری) بابت این دو اشتباه، از همه دوستانی که فیلم‌های جاواکاپ را دیده‌اند، عذرخواهی می‌کنم. 

در حال حاضر، اسلایدها (فایل pdf و ppt) به روزرسانی شده و اصلاحات لازم در آن‎ها صورت گرفته است.

هم‌چنین، در صفحه آموزش جاوا، در بخش‎هایی که نیاز به اصلاحات داشتند، یک فایل با عنوان غلط‌نامه اضافه شده است که تصریح می‎کند در دقیقه چند از فیلم آموزشی، نکته مورد نظر به اشتباه بیان شده است. 

به این دو نکته، در جلسات 6، 7، 10 و 14 فیلم‎های آموزشی اشاره شده و برای این جلسات غلط‌نامه‌ای منتشر شده است. 

به علاقه‌مندان توصیه می‌شود این غلط‌نامه‌ها را مطالعه کنند و این دو نکته اشتباه را در ذهن خود نیز تصحیح کنند.

در ادامه نیز به اختصار این دو نکته را ذکر می‎کنیم:

1- نکته اول، در مورد نحوه مقداردهی اولیه اشیا و به طور خاص، ترتیب اجرای مقداردهی درخط و بلوک‌های مقداردهی است.

در فیلم جلسه 6 و 7 آموزشی و هم‌چنین نسخه اول اسلایدهای این دو جلسه، به اشتباه بیان شده است که همواره ابتدا مقداردهی درخط و سپس بلوک‌های مقداردهی اجرا می‌شوند. در حالی که مقداردهی درخط و بلوک مقداردهی، اولویتی بر هم ندارند و به همان ترتیبی که در کد نوشته شده‌اند، اجرا می‌شوند.

2- نکته دوم، در مورد اضافه کردن اشیا به Set است.

در فیلم‌ جلسه 10 و 14 آموزشی و هم‌چنین نسخه اول اسلایدهای این دو جلسه، به اشتباه اشاره شده است که در تلاش برای اضافه کردن شی تکراری به Set، شی اولیه حذف شده و شی جدید اضافه می‌شود. در حالی که اینطور نیست و شی جدید به Set اضافه نشده و در واقع Set تغییری نمی‌کند.

 

لطفاً اگر احیاناً اشتباه دیگری در فیلم‌های جاواکاپ می‌شناسید، حتماً با ما در میان بگذارید. مثلاً ذیل همین مطلب کامنت بگذارید.

.

.

.

با ما همراه باشید

آدرس کانال تلگرام: JavaCupIR@

آدرس اکانت توییتر: JavaCupIR@

آدرس صفحه اینستاگرام: javacup.ir

آدرس گروه لینکدین: Iranian Java Developers

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

‫15 دیدگاه ها

  1. با سلام
    ویدیویی به نام junit در قسمت (دانلود پکیج کامل آموزش جاوا – آموزش جاوا SE به صورت کامل) قابل دانلود است که فایل دیگری با همان محتوای تکراری در قسمت (آموزش UnitTesting به صورت کامل)قابل دانلود است که با حذف یکی از ویدیو ها حجم دانلود کل آموزش کمتر میشود.
    ممنون از تیم جاواکاپ

  2. با سلام و خداقوت به تیم جاواکاپ
    اول از همه بابت آموزش خیلی خوبتون سپاسگزارم. پیشنهادی دارم که امیدوارم تونسته باشم در پیشبرد فعالیت های جاواکاپ سهیم باشم. فایل های pdf آموزش خیلی جاها با ویدیو تطابق نداره ولی فایل های پاورپوینت نسبت به pdf خیلی بهترن و با pdf مقایسشون کردم تطابق خیلی خیلی بیشتری با ویدیو دارن و تا الان در پاورپوینت پیش نیومده که با ویدیو تطابق نداشته باشه. من خودم برای مرور مطالب ذکر شده در ویدیو اوایل pdf هارو میخوندم ولی الان فقط پاورپوینت هارو میخونم. به نظرم اگه از پاورپوینت ها خروجی pdf گرفته بشه و لینکهاشون به جای لینک های دانلود pdf ها و دانلود کل آموزش در بخش آموزش سایت قرار بگیره خیلی خوب میشه و کسانی که بعد ها آموزشو تهیه میکنن دچار مشکل نخواهند شد.
    آرزوی بهترین ها برای تیم جاواکاپ…

    1. سلام
      خیلی ممنون از بازخوردتان.
      حتما سعی می‌کنیم هر چه سریع‌تر پیشنهادتون رو انجام بدیم.

      با تشکر

  3. سلام صفحه 33 PDF مبحث interface اشتباه است.نوشته این نمونه در یک متود غیر استاتیک در کلاس بیرونی ساخته شده درصورتی که در متود استاتیک تعریف شده و اشتباه است و خطوط دیگر هم همچنین

  4. با عرض سلام و خدا قوت به تیم خوب جاواکاپ
    فایل pdf فصل 11 polymorphism صفحه 64 با همان صفحه در ویدیو فرق داره. محتوا اشتباه نیست ولی به نظرم جمله بندی و اسم متغیر ها اون صفحه تو ویدیو بهتره.
    در نهایت از تیم جاواکاپ بابت تهیه آموزشی عالی و رایگان که نسبت به خیلی از آموزش های رایگان و غیر رایگان بهتره و نکاتی توش گفته شده که خیلی جاها گفته نمیشه ممنونم.
    آرزوی بهترین ها برای تیم جاواکاپ

    1. سلام
      خیلی ممنونیم که این دو عدم تطابق در فایل‌های PDF و پاورپوینت رو بهمون اطلاع‌رسانی کردید.
      حتما به زودی اصلاحشون خواهیم کرد.
      با تشکر

  5. در ویدیوی اموزش ۱۴ مربوط به containerها در اسلاید ۱۲ در مورد متد remove عبارت remove(new student(“ALI ALAVI”) یک شی جدید داخل متد ساخته میشه و چون این شی جدید داخل ARRAYLIST نیست چیزی حذف نمیشه ولی تو توضیحات ویدیو گفته میشه چون متد Remove .get)0( صدا زده شده چیزی حذف نمیشه این خیلی غلط اندازه ممنون میشم بررسی کنید

    1. سلام
      مطلبی که فرمودید بررسی شد. نکته‎ای که شما می‎فرمایید در شرایطی که متد equals برای کلاس Student بازنویسی نشده باشد، کاملا صحیح است.
      در اسلایدها هم پیاده‎سازی کلاس Student آورده نشده اما در توضیحات فیلم، فرض شده که دو شی Student در صورتی که نام یکسانی داشته باشند، با هم برابرند و اگر در خط قبلی، ALI ALAVI حذف نشده بود، در این خط حذف می‎شد.
      ممنون که به این نکته اشاره کردید.
      سعی می‎می‎کنیم در آینده به نحوی این موضوع را شفاف‎سازی کنیم.

  6. من سعی میکنم نکته ها و سوال های خوبی که بهش بر میخورم رو توی کانال تلگرام زیر بزارم
    اگه کسی هم سوال خوب داشت میتونه ارسال کنه برای من تا توی کانال بزارم
    چون اینجا کد جاوا رو خوب نشون نمیده
    t.me/java_cup_questions

    اینم یه سوال خیلی خوب
    What is the result of the following code?
    1: public abstract class Bird {
    2: private void fly() { System.out.println(“Bird is flying”); }
    3: public static void main(String[] args) {
    4: Bird bird = new Pelican();
    5: bird.fly();
    6: }
    7: }
    8: class Pelican extends Bird {
    9: protected void fly() { System.out.println(“Pelican is flying”); }
    10: }

    A. Bird is flying
    B. Pelican is flying
    C. The code will not compile because of line 4.
    D. The code will not compile because of line 5.
    E. The code will not compile because of line 9

  7. جناب آقای علی اکبری بسیاری از تازه کاران حوزه جاوا من جمله خودم واقعا مدیون تلاشهای شما و دست اندرکاران جاواکاپ و تهیه کننده گان ویدئوهای جاواکاپ هستیم. این دقت و مسئولیت پذیری شما در بیان مطالب آموزشی و اصلاح آن واقعا موردی نایاب است. واقعا سپاسگذار شما و همکاران محترمتون هستم. به امید موفقیت روز افزون این انجمن

  8. سلام و عرض ادب
    خیلی خیلی ممنونم از زحماتی که میکشین
    من میخوام نکاتی که به نظرم برای آزمون جالب هست رو بنویسم اگه اشکالی نداره
    از دوستانی که برای آزمون آماده میشن هم خواهش میکنم اگه وقت کردن این کار رو انجام بدن

    یه نکته که فکر میکنم توی فیلم های جاواکاپ پوشش داده نشده method hiding هست
    یه تفاوتی بین override کردن متد و hide کردن متد وجود داره .
    در override کردن متد , متد override شده هم در فراخوانی های داخل کلاس پدر و هم در فراخوانی های داخل کلاس فرزند استفاده میشه .
    ولی در hide کردن متد , متد hide شده فقط در فراخوانی های داخل کلاس فرزند استفاده میشه

    به عنوان مثال خروجی برنامه زیر چیه

    class Parent {
    public static void a() { System.out.println(“Parent static”); }
    public void b() { System.out.println(“Parent nonStatic”); }
    public void f1() { a(); b();}
    }

    class Child extends Parent {
    public static void a() { System.out.println(“Child static”); }
    public void b() { System.out.println(“Child nonStatic”); }
    public void f2() { a(); b();}
    }

    public class CodeForces {
    public static void main(String[] args) {
    Child c = new Child();
    Parent p = c;
    p.f1();
    c.f2();
    }
    }

    1. منبع :
      OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide Exam 1Z0-808 Jeanne Boyarsky, Scott Selikoff
      Overriding vs. Hiding Methods -> page 254

    2. ببخشید نتونستم کاری کنم کد درست نشون داده بشه
      اگه کد رو کپی کنید توی محیط کدنویسی درست نشون میده

    3. من سوال هایی که به نظرم جالب هست و آموزنده رو توی کانال زیر میزام
      فعلا فقط یک سوال گذاشتم که اگه کسی عضو شد بازم بزارم
      اگه سوال یا نکته جالب دارید هم میتونید برای من ارسال کنید تا توی کانال بزارم
      اگه کسی علاقه داشت هم میتونیم گروه درست کنیم تا از هم دیگه سوال بپرسیم

      t.me/java_cup_questions

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

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

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