From d30589c5adf59561a7db3d4a3707398e434fd5b2 Mon Sep 17 00:00:00 2001 From: Timo Hocker Date: Mon, 4 May 2020 19:34:12 +0200 Subject: [PATCH] remove duplicate code --- cpp/{instances/README.md => Instances.md} | 2 +- cpp/instances/car.cpp | 20 ------ cpp/instances/car.h | 20 ------ cpp/instances/main.cpp | 20 ------ java/Instances.md | 5 ++ java/instances/Car.java | 18 ----- java/instances/README.md | 5 -- java/instances/main.java | 18 ----- lessons/Instances.md | 8 +-- rust/{instances/README.md => Instances.md} | 2 +- rust/instances/Cargo.lock | 5 -- rust/instances/Cargo.toml | 9 --- rust/instances/src/car.rs | 24 ------- rust/instances/src/main.rs | 23 ------- .../{instances/README.md => Instances.md} | 2 +- typescript/instances/car.ts | 18 ----- typescript/instances/index.ts | 16 ----- typescript/instances/package.json | 11 ---- typescript/instances/tsconfig.json | 66 ------------------- 19 files changed, 12 insertions(+), 280 deletions(-) rename cpp/{instances/README.md => Instances.md} (86%) delete mode 100644 cpp/instances/car.cpp delete mode 100644 cpp/instances/car.h delete mode 100644 cpp/instances/main.cpp create mode 100644 java/Instances.md delete mode 100644 java/instances/Car.java delete mode 100644 java/instances/README.md delete mode 100644 java/instances/main.java rename rust/{instances/README.md => Instances.md} (85%) delete mode 100644 rust/instances/Cargo.lock delete mode 100644 rust/instances/Cargo.toml delete mode 100644 rust/instances/src/car.rs delete mode 100644 rust/instances/src/main.rs rename typescript/{instances/README.md => Instances.md} (53%) delete mode 100644 typescript/instances/car.ts delete mode 100644 typescript/instances/index.ts delete mode 100644 typescript/instances/package.json delete mode 100644 typescript/instances/tsconfig.json diff --git a/cpp/instances/README.md b/cpp/Instances.md similarity index 86% rename from cpp/instances/README.md rename to cpp/Instances.md index da0f2ea..8558bc3 100644 --- a/cpp/instances/README.md +++ b/cpp/Instances.md @@ -8,4 +8,4 @@ to be initialized with the keyword 'new'. Relevant Files: -- [main.cpp](./main.cpp) +- [main.cpp](./classes/main.cpp) diff --git a/cpp/instances/car.cpp b/cpp/instances/car.cpp deleted file mode 100644 index 3a494d7..0000000 --- a/cpp/instances/car.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - -Basic Car class -just here to make the demonstration in the main file possible -explanation of the code here will be given in later lessons - -*/ - -#include "car.h" -#include -#include - -using namespace std; - -void car::print_info() -{ - cout << "Car Information:" << endl; - cout << "- manufacturer: " << manufacturer << endl; - cout << "- model: " << model << endl; -} diff --git a/cpp/instances/car.h b/cpp/instances/car.h deleted file mode 100644 index f9bf7ab..0000000 --- a/cpp/instances/car.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - -Basic Car class -just here to make the demonstration in the main file possible -explanation of the code here will be given in later lessons - -*/ - -#pragma once -#include - -using namespace std; - -class car -{ - public: - std::string manufacturer; - std::string model; - void print_info(); -}; diff --git a/cpp/instances/main.cpp b/cpp/instances/main.cpp deleted file mode 100644 index e848151..0000000 --- a/cpp/instances/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "car.h" -#include - -int main() { - // create a new car and store it in the variable 'a' - // in contrast to java, c++ does not need initialization with the 'new' keyword here. - car a; - // set some data for that car - a.manufacturer = "Benz"; - a.model = "Velo"; - - // do the same for a second car - car b; - b.manufacturer = "Ford"; - b.model = "Model T"; - - // use a function of the car class to print out the information - a.print_info(); - b.print_info(); -} diff --git a/java/Instances.md b/java/Instances.md new file mode 100644 index 0000000..0e23b43 --- /dev/null +++ b/java/Instances.md @@ -0,0 +1,5 @@ +# Java Example + +Relevant Files: + +- [main.java](./classes/main.java) diff --git a/java/instances/Car.java b/java/instances/Car.java deleted file mode 100644 index 768db93..0000000 --- a/java/instances/Car.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - -Basic Car class -just here to make the demonstration in the main file possible -explanation of the code here will be given in later lessons - -*/ - -public class Car { - public String model = ""; - public String manufacturer = ""; - - public void print_info() { - System.out.println("Car Information:"); - System.out.println("- manufacturer: " + this.manufacturer); - System.out.println("- model: " + this.model); - } -} diff --git a/java/instances/README.md b/java/instances/README.md deleted file mode 100644 index b9f28d6..0000000 --- a/java/instances/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Java Example - -Relevant Files: - -- [main.java](./main.java) diff --git a/java/instances/main.java b/java/instances/main.java deleted file mode 100644 index e221455..0000000 --- a/java/instances/main.java +++ /dev/null @@ -1,18 +0,0 @@ -public class main { - public static void main(String[] args) { - // create a new car and store it in the variable 'a' - Car a = new Car(); - // set some data for that car - a.manufacturer = "Benz"; - a.model = "Velo"; - - // do the same for a second car - Car b = new Car(); - b.manufacturer = "Ford"; - b.model = "Model T"; - - // use a function of the car class to print out the information - a.print_info(); - b.print_info(); - } -} diff --git a/lessons/Instances.md b/lessons/Instances.md index 6e3f832..c413cc9 100644 --- a/lessons/Instances.md +++ b/lessons/Instances.md @@ -64,7 +64,7 @@ repository :) ## Examples -- [Java](../java/instances/README.md) -- [Rust](../rust/instances/README.md) -- [C++](../cpp/instances/README.md) -- [JavaScript (using TypeScript)](../typescript/instances/README.md) +- [Java](../java/Instances.md) +- [Rust](../rust/Instances.md) +- [C++](../cpp/Instances.md) +- [JavaScript (using TypeScript)](../typescript/Instances.md) diff --git a/rust/instances/README.md b/rust/Instances.md similarity index 85% rename from rust/instances/README.md rename to rust/Instances.md index dc91a94..5159a40 100644 --- a/rust/instances/README.md +++ b/rust/Instances.md @@ -7,4 +7,4 @@ Relevant Files -- [main.rs](./src/main.rs) +- [main.rs](./classes/src/main.rs) diff --git a/rust/instances/Cargo.lock b/rust/instances/Cargo.lock deleted file mode 100644 index 3e2730f..0000000 --- a/rust/instances/Cargo.lock +++ /dev/null @@ -1,5 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "rust-oop" -version = "0.1.0" diff --git a/rust/instances/Cargo.toml b/rust/instances/Cargo.toml deleted file mode 100644 index 2946813..0000000 --- a/rust/instances/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "rust-oop" -version = "0.1.0" -authors = ["Timo Hocker "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] diff --git a/rust/instances/src/car.rs b/rust/instances/src/car.rs deleted file mode 100644 index 650d5b5..0000000 --- a/rust/instances/src/car.rs +++ /dev/null @@ -1,24 +0,0 @@ -/* - -Basic Car class -just here to make the demonstration in the main file possible -explanation of the code here will be given in later lessons - -*/ - -pub trait Information { - fn print_info(&self); -} - -pub struct Car { - pub manufacturer: String, - pub model: String -} - -impl Information for Car { - fn print_info(&self) { - println!("Car Information:"); - println!("- manufacturer: {}", self.manufacturer); - println!("- model: {}", self.model); - } -} diff --git a/rust/instances/src/main.rs b/rust/instances/src/main.rs deleted file mode 100644 index a7b4252..0000000 --- a/rust/instances/src/main.rs +++ /dev/null @@ -1,23 +0,0 @@ -mod car; -use car::Information; - -fn main() { - // create a new car and store it in the variable 'a' - // rust also doesn't use the 'new' keyword - // all attributes have to be defined upon creation of the object - let a = car::Car { - // set some data for that car - manufacturer: "Benz".to_string(), - model: "Velo".to_string() - }; - - // do the same for a second car - let b = car::Car { - manufacturer: "Ford".to_string(), - model: "Model T".to_string() - }; - - // use a function of the car class to print out the information - a.print_info(); - b.print_info(); -} diff --git a/typescript/instances/README.md b/typescript/Instances.md similarity index 53% rename from typescript/instances/README.md rename to typescript/Instances.md index 4da9c61..24d84b3 100644 --- a/typescript/instances/README.md +++ b/typescript/Instances.md @@ -2,4 +2,4 @@ Relevant Files -- [index.ts](./index.ts) +- [index.ts](./classes/index.ts) diff --git a/typescript/instances/car.ts b/typescript/instances/car.ts deleted file mode 100644 index bc28093..0000000 --- a/typescript/instances/car.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - -Basic Car class -just here to make the demonstration in the main file possible -explanation of the code here will be given in later lessons - -*/ - -export class Car { - manufacturer: string = ''; - model: string = ''; - - print_info() { - console.log('Car Information:'); - console.log(`- manufacturer: ${this.manufacturer}`); - console.log(`- model: ${this.model}`); - } -} diff --git a/typescript/instances/index.ts b/typescript/instances/index.ts deleted file mode 100644 index c80550f..0000000 --- a/typescript/instances/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -import {Car} from './car' - -// create a new car and store it in the variable 'a' -const a = new Car(); -// set some data for that car -a.manufacturer = 'Benz'; -a.model = 'Velo'; - -// do the same for a second car -const b = new Car(); -b.manufacturer = 'Ford'; -b.model = 'Model T'; - -// use a function of the car class to print out the information -a.print_info(); -b.print_info(); \ No newline at end of file diff --git a/typescript/instances/package.json b/typescript/instances/package.json deleted file mode 100644 index 22361fc..0000000 --- a/typescript/instances/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "ts-oop", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC" -} diff --git a/typescript/instances/tsconfig.json b/typescript/instances/tsconfig.json deleted file mode 100644 index 6232546..0000000 --- a/typescript/instances/tsconfig.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "compilerOptions": { - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./dist", /* Concatenate and emit output to single file. */ - "outDir": "./dist", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } -}