[Swift / Ruby / Python / Java] Objektorientierte Programmierung

Was in diesem Artikel zu schreiben

Implementieren Sie die Programmierung, um die folgenden "Ergebnisse, die Sie ausgeben möchten" in jeder Sprache von Swift / Ruby / Python / Java basierend auf der Objektorientierung auszugeben

Warum ich diesen Artikel geschrieben habe

・ Erinnern, wenn Sie vergessen ・ Vergleich jeder Sprache

Inhalte verarbeiten

① Berechnen Sie den BMI aus Größe und Gewicht (2) Unterscheiden Sie zwischen dünn, normal und fettleibig vom BMI-Wert ③ Anzeige ①② oben

Das Ergebnis, das Sie ausgeben möchten

---1. Person---
Höhe: 178.0cm
Gewicht: 61.8kg
BMI: 19.505112990784
gewöhnlich
---Zweite Person---
Höhe: 153.0cm
Gewicht: 74.0kg
BMI: 31.6117732496049
Fettleibigkeit
---3. Person---
Höhe: 185.0cm
Gewicht: 59.0kg
BMI: 17.2388604821037
Dünn

Swift

sample.swift


import Foundation 

class Person{
    var height:Double
    var weight:Double

    init(_ height:Double,_ weight:Double){
        self.height = height
        self.weight = weight
    }

    func getHeight() -> Double{
        return self.height
    }

    func getWeight() -> Double{
        return self.weight
    }

    func bmi() -> Double{
        return self.weight / self.height / self.height * 10000
    }

    func isHealthy() -> String{
        switch self.bmi(){
            case ..<18.5:
                return "Dünn"
                break
            case 18.5..<25:
                return "gewöhnlich"
                break
            default:
                return "Fettleibigkeit"
                break
        }
    }

     func info() {
         print("Höhe:\(self.getHeight())cm")
         print("Körpergewicht:\(self.getWeight())kg")
         print("BMI: \(self.bmi())")
         print("\(self.isHealthy())")
     }
}

var person1:Person = Person(178,61.8)
var person2:Person = Person(153,74)
var person3:Person = Person(185,59)
 
var persons:[Person] = [person1,person2,person3]
 var index:Int = 1

for person in persons{
    print("---\(index)Auge---")
    person.info()
    index+=1
}

Ruby

sample.rb


class Person
    attr_accessor :height,:weight
    
    def initialize(height,weight)
        @height = height
        @weight = weight
    end
    
    def getHeight()
        return self.height
    end
    
    def getWeight()
        return self.weight
    end
    
    def bmi()
        return self.weight / self.height / self.height * 10000
    end
    
    def isHealthy()
        case self.bmi()
            when 0..18.49
                return "Dünn"
            when 18.5..24.99
                return "gewöhnlich"
            else
                return "Fettleibigkeit"
        end
    end
    
    def info()
        puts "#{self.getHeight()} cm"
        puts "#{self.getWeight()} kg"
        puts "BMI: #{self.bmi()}"
        puts "#{self.isHealthy()}"
    end
end

person1 = Person.new(178.0,61.8)
person2 = Person.new(153.0,74.0)
person3 = Person.new(185.0,59.0)
persons = [person1,person2,person3]

index = 1

persons.each do |person|
    puts "---#{index}Auge---"
    person.info()
    index += 1
end

Python

sample.py


class Person:
    def __init__(self,height,weight):
	    self.height = height
	    self.weight = weight
        
    def getHeight(self):
        return self.height
    
    def getWeight(self):
        return self.weight
    
    def bmi(self):
        return self.weight / self.height / self.height * 10000
   
    def isHealthy(self):
        if self.bmi() < 18.5:
            return "Dünn"
        elif 18.5 <= self.bmi() < 25.0:
            return "gewöhnlich"
        else:
            return "Fettleibigkeit"
    
    def info(self):
        print("Höhe:" + str(self.height) + "cm")
        print("Körpergewicht:" + str(self.weight) + "kg")
        print("BMI:" + str(self.bmi()))
        print(self.isHealthy())

person1 = Person(178.0,61.8)
person2 = Person(153.0,74.0)
person3 = Person(185.0,59.0)
persons = [person1,person2,person3]

index = 1

for person in persons:
    print("---" + str(index) + "Auge---")
    person.info()
    index += 1

Java

sample.java


import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {

    Person person1 = new Person(178.0,61.8);
    Person person2 = new Person(153.0,74.0);
    Person person3 = new Person(185.0,59.0);
    
    Person[] persons = {person1,person2,person3};
    int index = 1;
    
    for(int i=0;i<persons.length;i++){
        System.out.println("---" + index + "Auge---");
        persons[i].info();
        index += 1;
    }
}

public static class Person{
    private double height;
    private double weight;
    
    Person(double height,double weight){
        this.height = height;
        this.weight = weight;
    }
    
    public double getHeight() {
        return this.height;
    }
    
    public double getWeight(){
        return this.weight;
    }
    
    public double bmi(){
        return this.weight / this.height / this.height * 10000;
    }
    
    public String isHealthy(){
        if(this.bmi()< 18.5){
            return "Dünn";
        } else if (this.bmi()>=18.5 && this.bmi()<25){
            return "gewöhnlich";
        } else {
            return "Fettleibigkeit";
        }
    }
    
    public void info(){
        System.out.println("Höhe:" + this.getHeight() + "cm");
        System.out.println("Körpergewicht:" + this.getWeight() + "kg");
        System.out.println("BMI:" + this.bmi());
        System.out.println(this.isHealthy());
    }
}
}

Persönlicher Eindruck

① Swift ist am einfachsten zu schreiben ② Unerwartet hat Ruby viel Code ③ Swift ist einfach zu schreiben, wenn Sie Java lernen ④ Für diejenigen, die zum ersten Mal Programmieren lernen, ist Python möglicherweise leichter zu verstehen als Ruby

Recommended Posts

[Swift / Ruby / Python / Java] Objektorientierte Programmierung
Java VS PHP VS Python VS Ruby
Was ist der [Ruby / Python / Java / Swift / JS] -Algorithmus?
[Python] Mit Pokemon erlernte objektorientierte Programmierung
Ruby Python Java Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung
Python-Programmierhinweis
Programmieren mit Python
Wie man Spaß am Programmieren mit Minecraft hat (Ruby, Python)
Was ist "funktionale Programmierung" und "objektorientiert"? Python Edition
paiza POH ec-Kampagne (C # / Java / Python / Ruby) # paizahack_01
Trends für das Webanwendungs-Framework 2014 (PHP / Java / Ruby / Python / Perl)
[Anfänger / Gespeicherte Version] Was Sie mit der Programmiersprache tun können (12 Auswahlmöglichkeiten wie Ruby / Python / Java / Swift / PHP / Go)
"Objektorientiert" mit Python gelernt
3. 3. KI-Programmierung mit Python
Ruby, Python und Map
Lösen mit Ruby, Perl, Java und Python AtCoder diverta 2019 Programmierwettbewerb C String Manipulation
Python-Programmierung mit Atom
Python und Ruby teilen sich
Wettbewerbsfähige Programmierung mit Python
Python-Programmierung mit Excel
LEGO Mindstorms 51515 Python-Programmierung
Schreiben wir jeweils Python, Ruby, PHP, Java und JavaScript
Programmieren mit Python Flask
[Python-Version] Warum können Sie mit Java keine objektorientierte Entwicklung durchführen?
Grundlegender Grammatikvergleich in fünf Sprachen (C #, Java, Python, Ruby, Kotlin)
Lösen mit Ruby und Python AtCoder ABC178 D Dynamische Planungsmethode
Lösen mit Ruby, Perl, Java und Python AtCoder ATC 002 A.
Ich habe versucht, den Chi-Quadrat-Test in Python und Java zu programmieren.
Lösen mit Ruby und Python AtCoder ABC011 C Dynamische Planungsmethode
Lösen mit Ruby und Python AtCoder ABC153 E Dynamische Planungsmethode
Lösen mit Ruby, Perl, Java und Python AtCoder ATC 002 B.
Hallo Welt in verschiedenen Sprachen [Python / PHP / Java / Perl / Ruby]
Programmieren mit Python und Tkinter
Python Programming Workshop - Super Einführung Vol.3
Python auf Ruby und wütend Ruby auf Python
Geschwindigkeitsvergleich von Python, Java, C ++
Atcoder Acing Programmierwettbewerb Python
Python und Ruby Slice Memo
Studie aus Python Hour4: Objektorientiert ②
Standardeingabe / Zusammenfassung / Python, Ruby
Ich habe Java und Python verglichen!
Zusammenfassung des Python-Webprogrammierartikels
Paiza Python Primer 1 Programmieren lernen
Zundokokiyoshi mit Python / Rubin / Lua
Über Perl, Python, PHP, Ruby
Ruby- und Python-Syntax ~ branch ~
Python Machine Learning Programming> Schlüsselwörter
Ruby, Installationshandbuch für Python-Module
Python Programming Workshop - Super Einführung Vol.4
Studie aus Python Hour4: Objektorientiert ①
Eine Einführung in die Python-Programmierung