понедельник, 15 января 2018 г.

30 Days of Code. Day 4: Class vs. Instance



Day 4: Class vs. Instance

Dashboard > Tutorials > 30 Days of CodeDay


function Person(initialAge) {
    // Add some more code to run some checks on initialAge
    if (initialAge > 0) {
        this.age = initialAge;
    } else {
        this.age = 0;
        console.log("Age is not valid, setting age to 0.");
    }

    this.amIOld = function () {
        // Do some computations in here and print out the correct statement to the console
        if (this.age < 13) {
            console.log("You are young.");
        } else if (this.age >= 13 && this.age < 18) {
            console.log("You are a teenager.");
        } else {
            console.log("You are old.");
        }
    };

    this.yearPasses = function () {
        // Increment the age of the person in here
        this.age++;
    };
}

Теория



<!--
Функция конструктор - это функция, которая создает объекты по определенному шаблону (классу).
Конструкторы должны вызываться после оператора new.
Ключевое слово new создает пустой объект, который в конструкторе будет доступен через ключевое слово this.
-->
<html>
<head>
    <title> Пользовательский конструктор </title>
    <meta charset="utf-8">
    <script>
        // Функция-конструктор для создания объектов Point.

        function Point(x, y) {
            this.x = x;
            this.y = y;
        }

        // Создание трех экземпляров класса Point
        var leftTop = new Point(0, 0);
        var topPoint = new Point(15, 30);
        var rightBottom = new Point(30, 30);

        // Вывод координат созданых точек
        document.write( "Координаты нашего треугольника:<br /><br />" );
        document.write("Координаты первой точки: " + leftTop.x + " , " + leftTop.y + "<br>");
        document.write("Координаты первой точки: " + topPoint.x + " , " + topPoint.y + "<br>");
        document.write("Координаты первой точки: " + rightBottom.x + " , " + rightBottom.y + "<br>");
    </script>
</head>
<body>
</body>
</html>

Функция-конструктор, которая создает объекты не только со свойствами, но и с методами.

<!DOCTYPE html>
<html>
<head>
    <title> Пользовательский конструктор 2 </title>
    <meta charset="utf-8">
    <script>
        // Функция-конструктор для создания объектов Human.
        function Human(name) {
            // свойство
            this .firstName = name;
            // метод - свойство объекта, которое содежит значение в виде функции.
            this .sayHello = function () {
                document.write("Hello! My name is " + this .firstName + "<br> " );
            }
        }
        // Создание двух экземпляров типа Human
        var h = new Human("Homer");
        var r = new Human("Rocky");
        // Вызов метода SayHello() на созданых обьектах.
        h.sayHello();
        r.sayHello();
    </script>
</head>
<body>
</body>
</html>

Комментариев нет:

Отправка комментария

The Love-Letter Mystery

/* Джеймс раздобыл любовное письмо, которое его друг Гарри написал своей девушке. Будучи шутником, Джеймс решил изменить его. Он ...