Skip to content

andyliukun/java-refactor-to-more-base-classes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ByteLegend Challenge of JavaIsland: OOP, Inheritance

English

Extract Common Code to Base Class in Different Levels

There are a lot of duplicate code in Cat/Dog/Boy/Girl classes, please refactor them, extract common code to two base classes Animal/Person class and make sure the local run of mvn verify pass:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

Don't know how? See verify locally in IDEA/verify locally in VSCode.

  • You can accomplish this challenge via any way below:
    • Recommended for beginners: run git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes to download the code, finish the challenge in your local IDE, then copy/paste/submit the answer in web editor.
    • Very unrecommended: you can click here to download zipped code if you don't like git operations.
    • Or: if you are confident enough to write code in web editor directly, go ahead.
    • Or: if you are familiar with GitHub, you can fork the repo, finish the challenge and create a pull request.
  • The bot will check your PR and tell you if you accomplish the challenge.
  • Go back to ByteLegend and continue your hero journey.

Good luck!

If you need any help, feel free to join the Discord Community or contact us via contact@bytelegend.com.

Note: we only allow you to modify the following files. Any changes to files other than the following files will be rejected:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
简体中文

将公用代码抽取到不同层级的父类中

Cat/Dog/Boy/Girl类中存在大量重复代码,请重构之,将重复代码提取到两个不同层级的基类Animal/Person类中,并确保本地运行mvn verify能够通过:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

不知道如何做?请查看在IDEA中本地验证/在VSCode中本地验证

  • 你可以使用以下任意一种方法完成挑战:
    • 初学者推荐:运行git clone https://git.bytelegend.com/ByteLegendQuest/java-refactor-to-more-base-classes将代码下载到本地,在本地使用IDE调试完成后复制到网页编辑器里提交。
    • 非常不推荐:如果你实在不喜欢git命令行操作,你可以点击这里直接下载打包好的代码
    • 或者:如果你非常自信不需要下载代码到本地调试,可以使用网页编辑器直接提交。
    • 或者:如果你对GitHub非常熟悉,你可以fork这个仓库、完成挑战后,创建一个Pull Request。
  • 机器人将会检查你的答案,告诉你你是否通过了挑战。
  • 回到字节传说,然后继续你的英雄旅程。

祝你好运!

如果你需要任何帮助,欢迎加入官方玩家QQ群(在首页右下角的联系 & 关于菜单里可以找到入群方式)或者Discord社区,或email至contact@bytelegend.com

注意:我们只允许您修改以下文件,任何对其他文件的修改都会被拒绝:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
繁體中文

將公共代碼提取到不同級別的基類

Cat / Dog / Boy / Girl類中有很多重複代碼,請重構它們,將公共代碼提取到兩個基類Animal / Person類中並確保本地運行mvn verify通過:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

不知道怎麼樣?請參閱在 IDEA 中進行本地驗證/在 VSCode 中進行本地驗證

  • 您可以通過以下任何方式完成此挑戰:
    • 推薦給初學者:運行git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes下載代碼,在本地IDE中完成挑戰,然後復制/粘貼/提交答案網頁編輯器。
    • 非常不推薦:如果你不喜歡git操作,可以點擊這裡下載壓縮代碼
    • 或者:如果您有足夠的信心直接在 Web 編輯器中編寫代碼,請繼續。
    • 或者:如果你熟悉 GitHub,你可以 fork倉庫,完成挑戰並創建一個拉取請求。
  • 機器人會檢查你的 PR 並告訴你是否完成了挑戰。
  • 回到ByteLegend繼續你的英雄之旅。

祝你好運!

如果您需要任何幫助,請隨時加入Discord 社區或通過contact@bytelegend.com聯繫我們。

注意:我們只允許您修改以下文件。對以下文件以外的文件的任何更改都將被拒絕:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
Español

Extraiga el código común a la clase base en diferentes niveles

Hay una gran cantidad de código duplicado en las clases Cat / Dog / Boy / Girl , refactorícelos, extraiga el código común a dos clases base Clase Animal / Person y asegúrese de que la ejecución local de mvn verify pase:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

¿No sabes cómo? Ver verificar localmente en IDEA / verificar localmente en VSCode .

  • Puede lograr este desafío de cualquier manera a continuación:
  • El bot verificará tu PR y te dirá si logras el desafío.
  • Regrese a ByteLegend y continúe su viaje de héroe.

¡Buena suerte!

Si necesita ayuda, no dude en unirse a la comunidad de Discord o contáctenos a través de contact@bytelegend.com .

Nota: solo le permitimos modificar los siguientes archivos. Cualquier cambio en los archivos que no sean los siguientes archivos será rechazado:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
العربية

استخرج الكود المشترك إلى الفئة الأساسية في مستويات مختلفة

هناك الكثير من الأكواد المكررة في فصول Cat / Dog / Boy / Girl ، يرجى إعادة بنائها ، واستخراج الكود المشترك إلى فئتين أساسيتين من فئة Animal / Person والتأكد من التشغيل المحلي mvn verify :

Life ├── Animal │ ├── Cat │ └── Dog └── Person ├── Boy └── Girl

لا أعرف كيف؟ انظر التحقق محليًا في IDEA / تحقق محليًا في VSCode .

  • يمكنك إنجاز هذا التحدي بأي طريقة أدناه:
    • موصى به للمبتدئين: قم بتشغيل git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes لتنزيل الكود ، وإنهاء التحدي في IDE المحلي الخاص بك ، ثم نسخ / لصق / إرسال الإجابة في محررشبكة.
    • غير موصى به على الإطلاق: يمكنك النقر هنا لتنزيل رمز مضغوط إذا كنت لا تحب عمليات git .
    • أو: إذا كنت واثقًا بدرجة كافية من كتابة التعليمات البرمجية في محرر الويب مباشرةً ، فابدأ.
    • أو: إذا كنت معتادًا على GitHub ، فيمكنك تفرع الريبو وإنهاء التحدي وإنشاء طلب سحب.
  • سيتحقق الروبوت من العلاقات العامة الخاصة بك ويخبرك إذا أنجزت التحدي.
  • ارجع إلى ByteLegend وتابع رحلة بطلك.

حظا طيبا وفقك الله!

إذا كنت بحاجة إلى أي مساعدة ، فلا تتردد في الانضمام إلى مجتمع Discord أو الاتصال بنا عبر contact@bytelegend.com .

ملاحظة: نسمح لك فقط بتعديل الملفات التالية. سيتم رفض أي تغييرات يتم إجراؤها على الملفات بخلاف الملفات التالية:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
Português

Extraia o código comum para a classe base em diferentes níveis

Há muito código duplicado nas classes Cat / Dog / Boy / Girl , refatore-os, extraia o código comum para duas classes base Animal / Person class e certifique-se de que a execução local do mvn verify passe:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

Não sei como? Consulte verificar localmente em IDEA / verificar localmente em VSCode .

  • Você pode realizar este desafio de qualquer maneira abaixo:
    • Recomendado para iniciantes: execute git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes para baixar o código, conclua o desafio em seu IDE local e copie/cole/envie a resposta em editor web.
    • Muito não recomendado: você pode clicar aqui para baixar o código zipado se não gostar das operações do git .
    • Ou: se você estiver confiante o suficiente para escrever código diretamente no editor da web, vá em frente.
    • Ou: se você estiver familiarizado com o GitHub, você pode bifurcar o repo , finalizar o desafio e criar um pull request.
  • O bot verificará seu PR e informará se você cumprir o desafio.
  • Volte para ByteLegend e continue sua jornada de herói.

Boa sorte!

Se precisar de ajuda, sinta-se à vontade para se juntar à Comunidade Discord ou entre em contato conosco via contact@bytelegend.com .

Nota: só permitimos que você modifique os seguintes arquivos. Quaisquer alterações em arquivos que não sejam os arquivos a seguir serão rejeitadas:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
Bahasa Indonesia

Ekstrak Kode Umum ke Kelas Dasar di Level Berbeda

Ada banyak kode duplikat di kelas Cat / Dog / Boy / Girl , harap refactor mereka, ekstrak kode umum ke dua kelas dasar kelas Animal / Person dan pastikan run lokal dari mvn verify lulus:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

Tidak tahu bagaimana? Lihat verifikasi secara lokal di IDEA / verifikasi secara lokal di VSCode .

  • Anda dapat menyelesaikan tantangan ini melalui cara apa pun di bawah ini:
    • Direkomendasikan untuk pemula: jalankan git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes untuk mengunduh kode, selesaikan tantangan di IDE lokal Anda, lalu salin/tempel/kirim jawabannya di editor web.
    • Sangat tidak direkomendasikan: Anda dapat mengklik di sini untuk mengunduh kode zip jika Anda tidak menyukai operasi git .
    • Atau: jika Anda cukup percaya diri untuk menulis kode di editor web secara langsung, silakan.
    • Atau: jika Anda terbiasa dengan GitHub, Anda dapat melakukan fork repo , menyelesaikan tantangan, dan membuat permintaan tarik.
  • Bot akan memeriksa PR Anda dan memberi tahu Anda jika Anda menyelesaikan tantangan.
  • Kembali ke ByteLegend dan lanjutkan perjalanan pahlawan Anda.

Semoga berhasil!

Jika Anda memerlukan bantuan, jangan ragu untuk bergabung dengan Komunitas Discord atau hubungi kami melalui contact@bytelegend.com .

Catatan: kami hanya mengizinkan Anda untuk mengubah file berikut. Setiap perubahan pada file selain file berikut akan ditolak:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
Français

Extraire le code commun vers la classe de base à différents niveaux

Il y a beaucoup de code en double dans les classes Cat / Dog / Boy / Girl , veuillez les refactoriser, extraire le code commun à deux classes de base Animal / Person class et assurez-vous que l'exécution locale de mvn verify passe :

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

Vous ne savez pas comment ? Voir vérifier localement dans IDEA / vérifier localement dans VSCode .

  • Vous pouvez accomplir ce défi de n'importe quelle manière ci-dessous:
    • Recommandé pour les débutants : exécutez git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes pour télécharger le code, terminez le défi dans votre IDE local, puis copiez/collez/soumettez la réponse dans éditeur web.
    • Très déconseillé : vous pouvez cliquer ici pour télécharger le code compressé si vous n'aimez pas les opérations git .
    • Ou : si vous êtes suffisamment confiant pour écrire du code directement dans l'éditeur Web, continuez.
    • Ou : si vous êtes familier avec GitHub, vous pouvez forker le dépôt , terminer le défi et créer une demande d'extraction.
  • Le bot vérifiera votre PR et vous dira si vous accomplissez le défi.
  • Retournez à ByteLegend et continuez votre voyage de héros.

Bonne chance!

Si vous avez besoin d'aide, n'hésitez pas à rejoindre la communauté Discord ou à nous contacter via contact@bytelegend.com .

Remarque : nous vous autorisons uniquement à modifier les fichiers suivants. Toute modification de fichiers autres que les fichiers suivants sera rejetée :

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
日本語

異なるレベルの基本クラスに共通コードを抽出する

Cat / Dog / Boy / Girlクラスには重複するコードがたくさんあります。それらをリファクタリングし、共通コードを2つの基本クラスAnimal / Personクラスに抽出し、 mvn verifyパスのローカル実行を確認してください。

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

方法がわかりませんか? IDEAでローカルに検証する/VSCodeでローカルに検証するを参照してください。

  • この課題は、以下のいずれかの方法で達成できます。
    • 初心者に推奨: git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classesを実行してコードをダウンロードし、ローカルIDEでチャレンジを終了してから、で回答をコピー/貼り付け/送信します。 Webエディター。
    • 非常に推奨されていませんgit操作が気に入らない場合は、 ここをクリックしてzipコードをダウンロードできます。
    • または:Webエディターで直接コードを記述できる自信がある場合は、先に進んでください。
    • または:GitHubに精通している場合は、リポジトリをフォークしてチャレンジを終了し、プルリクエストを作成できます。
  • ボットはPRをチェックし、チャレンジを達成したかどうかを通知します。
  • ByteLegendに戻り、ヒーローの旅を続けてください。

幸運を!

ヘルプが必要な場合は、 Discordコミュニティに参加するか、contact @bytelegend.comからお問い合わせください。

注:変更できるのは次のファイルのみです。次のファイル以外のファイルへの変更は拒否されます。

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
Русский

Извлечение общего кода в базовый класс на разных уровнях

В классах Cat / Dog / Boy / Girl много повторяющегося кода, пожалуйста, проведите их рефакторинг, извлеките общий код в два базовых класса класса Animal / Person и убедитесь, что локальный запуск mvn verify :

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

Не знаете как? См. « Проверить локально в IDEA / проверить локально в VSCode» .

  • Вы можете выполнить эту задачу любым способом, указанным ниже:
  • Бот проверит ваш PR и сообщит, выполнили ли вы задание.
  • Вернитесь в ByteLegend и продолжайте свое героическое путешествие.

Удачи!

Если вам нужна помощь, присоединяйтесь к сообществу Discord или свяжитесь с нами по адресу contact@bytelegend.com .

Примечание: мы разрешаем вам изменять только следующие файлы. Любые изменения в файлах, кроме следующих файлов, будут отклонены:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
Deutsch

Extrahieren Sie gemeinsamen Code in die Basisklasse auf verschiedenen Ebenen

Es gibt viele doppelte Codes in Cat / Dog / Boy / Girl -Klassen, bitte refaktorisieren Sie sie, extrahieren Sie gemeinsamen Code in zwei Basisklassen Animal / Person -Klasse und stellen Sie sicher, dass die lokale Ausführung von mvn verify pass:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

Sie wissen nicht wie? Siehe Lokal verifizieren in IDEA / Lokal verifizieren in VSCode .

  • Sie können diese Herausforderung auf eine der folgenden Arten meistern:
  • Der Bot überprüft Ihre PR und teilt Ihnen mit, ob Sie die Herausforderung meistern.
  • Gehen Sie zurück zu ByteLegend und setzen Sie Ihre Heldenreise fort.

Viel Glück!

Wenn Sie Hilfe benötigen, können Sie sich gerne der Discord Community anschließen oder uns über contact@bytelegend.com kontaktieren .

Hinweis: Wir erlauben Ihnen nur, die folgenden Dateien zu ändern. Alle Änderungen an anderen Dateien als den folgenden Dateien werden abgelehnt:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
한국어

다른 수준의 기본 클래스에 공통 코드 추출

Cat / Dog / Boy / Girl 클래스에는 중복 코드가 많이 있습니다. 이를 리팩터링하고 공통 코드를 두 개의 기본 클래스 Animal / Person 클래스로 추출하고 mvn verify 통과의 로컬 실행을 확인하십시오.

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

방법을 모르십니까? IDEA에서 로컬로 확인/VSCode에서 로컬로 확인을 참조하세요.

  • 아래 방법을 통해 이 챌린지를 완료할 수 있습니다.
    • 초보자를 위한 권장 사항: git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes 를 실행하여 코드를 다운로드하고, 로컬 IDE에서 챌린지를 완료한 다음, 답변을 복사/붙여넣기/제출합니다. 웹 에디터.
    • 매우 권장하지 않음: git 작업이 마음에 들지 않으면 여기를 클릭하여 압축 코드를 다운로드 할 수 있습니다.
    • 또는 웹 편집기에서 직접 코드를 작성할 만큼 자신이 있다면 계속 진행하십시오.
    • 또는 GitHub에 익숙하다면 리포지토리를 분기 하고 챌린지를 완료하고 풀 요청을 생성할 수 있습니다.
  • 봇은 PR을 확인하고 도전 과제를 달성했는지 알려줍니다.
  • ByteLegend 로 돌아가 영웅 여정을 계속하세요.

행운을 빕니다!

도움이 필요하면 언제든지 Discord 커뮤니티 에 가입하거나 contact@bytelegend.com 을 통해 문의하세요.

참고: 다음 파일만 수정할 수 있습니다. 다음 파일 이외의 파일에 대한 변경 사항은 거부됩니다.

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java
Italiano

Estrai il codice comune nella classe base in diversi livelli

Ci sono molti codici duplicati nelle classi Cat / Dog / Boy / Girl , esegui il refactoring, estrai il codice comune in due classi base Classe Animal / Person e assicurati che l'esecuzione locale di mvn verify passi:

Life
├── Animal
│    ├── Cat
│    └── Dog
└── Person
     ├── Boy
     └── Girl

Non sai come? Vedere verifica in locale in IDEA / verifica in locale in VSCode .

  • Puoi portare a termine questa sfida in qualsiasi modo di seguito:
    • Consigliato per i principianti: esegui git clone https://github.com/ByteLegendQuest/java-refactor-to-more-base-classes per scaricare il codice, completa la sfida nel tuo IDE locale, quindi copia/incolla/invia la risposta in editore web.
    • Molto sconsigliato: puoi fare clic qui per scaricare il codice zippato se non ti piacciono le operazioni git .
    • Oppure: se sei abbastanza sicuro da scrivere il codice direttamente nell'editor web, vai avanti.
    • Oppure: se hai familiarità con GitHub, puoi eseguire il fork del repository , completare la sfida e creare una richiesta pull.
  • Il bot controllerà il tuo PR e ti dirà se hai superato la sfida.
  • Torna a ByteLegend e continua il tuo viaggio da eroe.

In bocca al lupo!

Se hai bisogno di aiuto, non esitare a unirti alla community di Discord o contattaci tramite contact@bytelegend.com .

Nota: ti permettiamo solo di modificare i seguenti file. Eventuali modifiche ai file diversi dai seguenti file verranno rifiutate:

  • src/main/java/com/bytelegend/Cat.java
  • src/main/java/com/bytelegend/Dog.java
  • src/main/java/com/bytelegend/Boy.java
  • src/main/java/com/bytelegend/Girl.java
  • src/main/java/com/bytelegend/Animal.java
  • src/main/java/com/bytelegend/Person.java
  • src/main/java/com/bytelegend/Life.java

About

Challenge of JavaIsland: OOP, Inheritance

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%