Last active
August 20, 2016 14:51
-
-
Save leonardorifeli/d03e68ef59a0667a806952583c1ce978 to your computer and use it in GitHub Desktop.
Inheritance or composition article
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.leonardorifeli.article.inheritance.model; | |
public class Automobile { | |
private String color; | |
private Integer quantityPort; | |
public String getColor() { | |
return color; | |
} | |
public void setColor(String color) { | |
this.color = color; | |
} | |
public Integer getQuantityPort() { | |
return quantityPort; | |
} | |
public void setQuantityPort(Integer quantityPort) { | |
this.quantityPort = quantityPort; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.leonardorifeli.article.inheritance.model; | |
public class Car extends Automobile { | |
public Car(final String color, final Integer quantityPort) { | |
this.setColor(color); | |
this.setQuantityPort(quantityPort); | |
} | |
public String getColor() { | |
return "perfect "+ this.color; | |
} | |
public String myColor() { | |
return "Color is: "+ this.getColor(); | |
} | |
public String myQuantityPort() { | |
return "Quantity port is: "+ this.getQuantityPort(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.leonardorifeli.article.composition.model; | |
public class Job { | |
private String name; | |
private String service; | |
private boolean started = false; | |
public Job(final String name, final String service, final boolean started) { | |
this.name = name; | |
this.service = service; | |
this.started = started; | |
} | |
public String checkAndStartJob() { | |
if(this.started == true) { | |
return "Job has already started."; | |
} | |
if(this.started == false) { | |
this.startJob(); | |
return "Job is started"; | |
} | |
return "Job stoped"; | |
} | |
private void startJob() { | |
this.started = true; | |
} | |
private void stopJob() { | |
this.started = false; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.leonardorifeli.article.composition.model; | |
public class People { | |
private String name; | |
private boolean hasJob; | |
public People(final String name, final boolean hasJob) { | |
this.name = name; | |
this.hasJob = hasJob; | |
if(this.hasJob == true) { | |
Job job = new Job(this.name, "Developer", true); | |
job.checkAndStartJob(); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.leonardorifeli.article.inheritance.model; | |
public class String { | |
@Override | |
public String toString() { | |
return "Is a new string"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment