Giter Club home page Giter Club logo

exercise-constructive-prototype-of-ellipse's Introduction

Konstruktiv prototyp av ellips

VIKTIGT! Innan du börjar arbeta med övningsuppgiften är det viktigt att du följer guiden Att komma igång med en övningsuppgift för att lägga till övningsuppgiftens repo till ditt repo för övningsuppgifter.

Uppgift

Hämta hem övningsuppgiftens repo, lägg till en .gitignore-fil och komplettera enligt anvisningarna.

I denna uppgift ska du komplettera med kod så att objekt, som representerar en ellips, skapas enligt "Constructor/Prototype Pattern" . Genom att använda arv ska även objekt representarande en cirkel kunna skapas.

Övningsuppgiften är uppdelad i tre filer och du ska skriva kod i som skapar objekt enligt nämndt designmönster. Genomför uppgiften genom att arbeta med filerna, och designmönster, i tur och ordning.

  1. Ellipse.js - "Constructor/Prototype Pattern"
  2. Circle.js - "Constructor/Prototype Pattern" som ärver från Ellipse.
  3. app.js - instansierar och använder objekt av typerna Ellipseoch Circle.

Genom att använda designmönstret ska typer skapas som har egenskaper och metoder enigt nedan.

src/Ellipse.js

Du ska skriva en konstruktorfunktion som skapar ett objekt av typen Ellipse där arean och omkretsen ska kunna beräknas. I samband med att objektet skapas ska det vara möjligt att ange halva storaxelns längd, som betecknas a, och halva lillaxelns längd, som betecknas b.

En ellips area kan bestämmas med Math.PI * a * b, och dess omkrets approximativt med Math.PI * Math.sqrt(2 * a * a + 2 * b * b).

Egenskaper

  • a, halva storaxelns längd.
  • b, halva lillaxelns längd.

Metoder

Metoderna nedan ska vara gemensamma för samtliga objekt som instansieras av typen Ellipse.

  • getArea, ska returnera ellipsens area.
  • getCircumference, ska returnera ellipsens omkrets.
  • toString, ska returnera en sträng representerande aktuellt objekt, med halva storaxelns längd satt till 42.7 och halva lillaxelns längd satt till 13.8, enligt a: 42.7, b: 13.8, area: 1851.2, circumference: 199.4 där arean respektive omkretsen ska avrundas till en decimal.

src/Circle.js

Du ska skriva en konstruktorfunktion som skapar ett objekt av typen Circle där arean och omkretsen ska kunna beräknas. I samband med att objektet skapas ska det vara möjligt att cirkelns radie, som betecknas radius. Se till att återanvända kod i så stor utsträckning som möjligt från typen Ellipse genom att använda arv.

En ellips area kan bestämmas med Math.PI * radius * radius, och dess omkrets med 2 * Math.PI * radius. (Samma formler kan användas som för en ellips area och omkrets, eller?)

Egenskaper

  • radius, cirkelns radie.

Metoder

Metoderna nedan ska vara gemensamma för samtliga objekt som instansieras av typen Circle.

  • getArea, ska returnera cirkelns area.
  • getCircumference, ska returnera cirkelns omkrets.
  • toString, ska returnera en sträng representerande aktuellt objekt, med radien satt till 42.7, enligt radius: 42.7, area: 5728.0, circumference: 268.3 där arean respektive omkretsen ska avrundas till en decimal.

app.js

Du ska importera modulerna Ellipse och Circle så du kan instansiera objekt av respektive typ.

Ellipsen du skapar ska initialt ha värdet 42,7 för halva storaxelns längd (a), och värdet 13,8 för halva lillaxelns längd (b). En textbeskrivning av objektet ska presenteras.

Vidare ska du presentera en textbeskrivning av objektet för värdena 63 och 18,4 samt 78,9 och 68,4 för halva storaxelns längd (a) respektive för halva lillaxelns längd (b).

Cirkeln du skapar ska initial ha radien 6,7, och en textbeskrivning av objektet ska presenteras. Även en textbeskrivning av cirklen ska presenteras för radien 3,8.

a: 13.8, b: 42.7, area: 1851.2, circumference: 199.4
a: 63, b: 18.4, area: 3641.7, circumference: 291.6
a: 78.9, b: 68.4, area: 16954.4, circumference: 463.9
radius: 6.7, area: 141.0, circumference: 42.1
radius: 3.8, area: 45.4, circumference: 23.9

Tips

Ta del av föreläsningarna om olika sätt att skapa objekt, och återanvändning av kod, innan du fullständigt fullföljer denna uppgift!

Genom att köra testerna som kommer med övningsuppgiften kan du undersöka om koden du skrivit löst uppgiften (i alla fall enligt testet...).

exercise-constructive-prototype-of-ellipse's People

Contributors

mtslck avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.