• Classes

    A class in programming is like a group of people. For example, if you have a group of friends, each person in the group is called a "friend". In programming, we call each person in the group a "class". Just like your friends might all have different names and personalities, classes can also have different names and qualities. So when you write code, you can create different classes with different names and abilities to do things.

      • Object Classes

      • Php

        Example of object class in php.
        <?php
        class Person {
        	public $name, $age;
        
        	function __construct($name, $age) {
        		$this->name = $name;
        		$this->age = $age;
        	}
        
        	public function greet() {
        		print('Hello my name is ' . $this->name);
        	}
        }
        
        $human = new Person('John', 36);
        
        print($human->name); // John
        print($human->age); // 36
        $human->greet(); // Hello my name is John
      • Javascript

        Example of object class in javascript.
        class Person {
        	constructor(name, age) {
        		this.name = name;
        		this.age = age;
        	}
        
        	greet() {
        		console.log('Hello my name is ' + this.name);
        	}
        }
        
        var human = new Person('John', 36);
        
        console.log(human.name); // John
        console.log(human.age); // 36
        human.greet(); // Hello my name is John
      • Python

        Example of object class in python.
        class Person:
        	def __init__(self, name, age):
        		self.name = name
        		self.age = age
        
        	def greet(self):
        		print('Hello my name is ' + self.name)
        
        
        human = Person('John', 36)
        
        print(human.name)  # John
        print(human.age)  # 36
        human.greet()  # Hello my name is John
        
      • Dart

        Example of object class in dart.
        class Person {
          String name;
          int age;
        
          Person(this.name, this.age);
        
          void greet() {
        	  print('Hello my name is ' + this.name);
          }
        }
        
        void main() {
          var human = new Person('John', 36);
        
          print(human.name); // John
          print(human.age); // 36
          human.greet(); // Hello my name is John
        }
      • Go

        Example of object class in go.
        package main
        
        import "fmt"
        
        type Person struct {
        	name string
        	age  int
        }
        
        func (p Person) greet() {
        	fmt.Println("Hello my name is " + p.name)
        }
        
        func main() {
        	var human = Person{"John", 36}
        
        	fmt.Println(human.name) // John
        	fmt.Println(human.age)  // 36
        	human.greet()		   // Hello my name is John
        }
        
      • Trait Classes

      • Php

        Example of trait class in php.
        <?php
        trait HasFlippers
        {
        	public function swim()
        	{
        		return 'can swim';
        	}
        }
        
        trait HasFeathers
        {
        	public function fly()
        	{
        		return 'can fly';
        	}
        }
        
        class Duck
        {
        	use HasFlippers, HasFeathers;
        }
        
        class Seal
        {
        	use HasFlippers;
        }
        
        $a = new Duck();
        print($a->swim()); // can swim 
        print($a->fly()); // can fly 
        
        $b = new Seal();
        print($b->swim()); // can swim
      • Javascript

        Example of trait class in javascript.
        const HasFlippers = {
        	swim: function () {
        		return 'can swim';
        	}
        };
        
        const HasFeathers = {
        	fly: function () {
        		return 'can fly';
        	}
        };
        
        class Duck { }
        
        Object.assign(Duck.prototype, HasFlippers, HasFeathers);
        
        class Seal { }
        
        Object.assign(Seal.prototype, HasFlippers);
        
        var a = new Duck();
        console.log(a.swim()); // can swim
        console.log(a.fly()); // can fly
        
        var b = new Seal();
        console.log(b.swim()); // can swim
      • Python

        Example of trait class in python.
        import math
        
        
        class HasFlippers(object):
        	def swim(self):
        		return 'can swim'
        
        
        class HasFeathers(object):
        	def fly(self):
        		return 'can fly'
        
        
        class Duck(HasFlippers, HasFeathers):
        	pass
        
        
        class Seal(HasFlippers):
        	pass
        
        
        a = Duck()
        print(a.swim())
        print(a.fly())
        
        b = Seal()
        print(b.swim())
        
      • Dart

        Example of trait class in dart.
        class HasFlippers {
        	String swim() {
        		return 'can swim';
        	}
        }
        
        class HasFeathers {
        	String fly() {
        		return 'can fly';
        	}
        }
        
        class Duck with HasFlippers, HasFeathers {}
        
        class Seal with HasFlippers {}
        
        void main() {
          var a = new Duck();
          print(a.swim()); // can swim
          print(a.fly()); // can fly
        
          var b = new Seal();
          print(b.swim()); // can swim
        }
      • Go

        Example of trait class in go.
        package main
        
        import "fmt"
        
        type HasFlippers string
        
        type HasFeathers string
        
        func (h HasFlippers) swim() string {
        	return "can swim"
        }
        
        func (h HasFeathers) fly() string {
        	return "can fly"
        }
        
        type Duck struct {
        	HasFlippers
        	HasFeathers
        }
        
        type Seal struct {
        	HasFlippers
        }
        
        func main() {
        	var a Duck
        	fmt.Println(a.swim())
        	fmt.Println(a.fly())
        
        	var b Seal
        	fmt.Println(b.swim())
        }
        
      • Interface Classes

      • Php

        Example of interface class in php.
        <?php
        interface Shape {
        	public function area();
        }
        
        class Rectangle implements Shape {
        	public $width, $height;
        
        	function __construct($width, $height){
        		$this->width = $width;
        		$this->height = $height;
        	}
        
        	public function area()
        	{
        		return $this->width * $this->height;
        	}
        }
        
        class Circle implements Shape {
        	public $radius;
        
        	function __construct($radius){
        		$this->radius = $radius;
        	}
        
        	public function area()
        	{
        		return pi() * $this->radius * $this->radius;
        	}
        }
        
        $a = new Rectangle(3, 5);
        $b = new Circle(4);
        
        printf('area of a is %f', $a->area()); // area of a is 15.000000
        printf('area of b is %f', $b->area()); // area of b is 50.265482
      • Javascript

        Example of interface class in javascript.
        // NA
      • Python

        Example of interface class in python.
        import math
        
        
        class Shape:
        	def area():
        		pass
        
        
        class Rectangle(Shape):
        	def __init__(self, width, height):
        		self.width = width
        		self.height = height
        
        	def area(self):
        		return self.width * self.height
        
        
        class Circle(Shape):
        	def __init__(self, radius):
        		self.radius = radius
        
        	def area(self):
        		return math.pi * self.radius * self.radius
        
        
        a = Rectangle(width=3, height=5)
        b = Circle(radius=4)
        
        print('area of a is {:f}'.format(a.area()))  # area of a is 15.000000
        print('area of b is {:f}'.format(b.area()))  # area of b is 50.265482
        
      • Dart

        Example of interface class in dart.
        import "dart:math" show pi;
        
        abstract class Shape {
          double area();
        }
        
        class Rectangle implements Shape {
          double width;
          double height;
        
          Rectangle(this.width, this.height);
        
          double area(){
        	return this.width * this.height;
          }
        }
        
        class Circle implements Shape {
          double radius;
        
          Circle(this.radius);
        
          double area(){
        	return pi * this.radius * this.radius;
          }
        }
        
        void main(){
          Rectangle a = new Rectangle(3, 5);
          Circle b = new Circle(4);
        
          print("area of a is ${a.area().toStringAsPrecision(8)}");  // area of a is 15.000000
          print("area of b is ${b.area().toStringAsPrecision(8)}");  // area of b is 50.265482
        }
      • Go

        Example of interface class in go.
        package main
        
        import (
        	"fmt"
        	"math"
        )
        
        type Shape interface {
        	Area() float64
        }
        
        type Rectangle struct {
        	width  float64
        	height float64
        }
        
        type Circle struct {
        	radius float64
        }
        
        func (r Rectangle) Area() float64 {
        	return r.width * r.height
        }
        
        func (c Circle) Area() float64 {
        	return math.Pi * c.radius * c.radius
        }
        
        func main() {
        	var a, b Shape
        	
        	a = Rectangle{width: 3, height: 5}
        	b = Circle{radius: 4}
        
        	fmt.Printf("area of a is %f", a.Area()) // area of a is 15.000000
        	fmt.Printf("area of b is %f", b.Area()) // area of b is 50.265482
        }
        
      • Struct Classes

      • Php

        Example of struct class in php.
        <?php
        class Person
        {
        	public string $name;
        	public int $age;
        
        	function __construct(string $name, int $age)
        	{
        		$this->name = $name;
        		$this->age = $age;
        	}
        }
        
        $human = new Person('John', 36);
        
        print($human->name); // John
        print($human->age); // 36
      • Javascript

        Example of struct class in javascript.
        class Person {
        	constructor(name, age) {
        		this.name = name;
        		this.age = age;
        	}
        }
        
        const human = new Person('John', 36);
        
        console.log(human.name); // John
        console.log(human.age); // 36
      • Python

        Example of struct class in python.
        from typing import NamedTuple
        
        class Person(NamedTuple):
        	name: str
        	age: int
        
        
        human = Person(name='John', age=36)
        
        print(human.name)  # John
        print(human.age)  # 36
        
      • Dart

        Example of struct class in dart.
        class Person {
          String name;
          int age;
        
          Person(this.name, this.age);
        }
        
        void main() {
          var human = new Person('John', 36);
        
          print(human.name); // John
          print(human.age); // 36
        }
      • Go

        Example of struct class in go.
        package main
        
        import "fmt"
        
        type Person struct {
        	name string
        	age  int
        }
        
        func main() {
        	var human = Person{"John", 36}
        
        	fmt.Println(human.name) // John
        	fmt.Println(human.age)  // 36
        }
        
      • Enum Classes

      • Php

        Example of enum class in php.
        <?php
        enum Days: int
        {
        	case Sunday = 0;
        	case Monday = 1;
        	case Tuesday = 2;
        	case Wednesday = 3;
        	case Thursday = 4;
        	case Friday = 5;
        	case Saturday = 6;
        }
        
        $day = 4;
        
        if ($day == Days::Saturday->value || $day == Days::Sunday->value) {
        	print('a weekend');
        } else {
        	print('a weekday'); // a weekday
        }
        
      • Javascript

        Example of enum class in javascript.
        const Days = {
        	Sunday: 0,
        	Monday: 1,
        	Tuesday: 2,
        	Wednesday: 3,
        	Thursday: 4,
        	Friday: 5,
        	Saturday: 6
        };
        
        var day = 4;
        
        if (day == Days.Saturday || day == Days.Sunday) {
        	console.log('a weekend');
        } else {
        	console.log('a weekday'); // a weekday
        }
        
      • Python

        Example of enum class in python.
        from enum import Enum
        
        class Days:
        	Sunday = 0
        	Monday = 1
        	Tuesday = 2
        	Wednesday = 3
        	Thursday = 4
        	Friday = 5
        	Saturday = 6
        
        day = 4;
        
        if day == Days.Saturday or day == Days.Sunday :
        	print('a weekend');
        else:
        	print('a weekday'); # a weekday
        
      • Dart

        Example of enum class in dart.
        enum Days {
        	sunday,
        	monday,
        	yuesday,
        	wednesday,
        	thursday,
        	friday,
        	saturday
        }
        
        void main(){
          var day = 4;
        
          if (day == Days.saturday.index || day == Days.sunday.index) {
        	print('a weekend');
          } else {
        	print('a weekday'); // a weekday
          }
        }
        
      • Go

        Example of enum class in go.
        package main
        
        import "fmt"
        
        const (
        	Sunday	int = 0
        	Monday	int = 1
        	Tuesday   int = 2
        	Wednesday int = 3
        	Thursday  int = 4
        	Friday	int = 5
        	Saturday  int = 6
        )
        
        func main() {
        	var day int = 4
        
        	if day == Saturday || day == Sunday {
        		fmt.Println("a weekend")
        	} else {
        		fmt.Println("a weekday") // a weekday
        	}
        }