| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- Java
- 캐글
- 바이오파이썬
- bioinformatics
- CNN
- 이항분포
- 자바
- 생명정보학
- BLaST
- 바이오인포매틱스
- 인공지능
- RNN
- 생물정보학
- AP
- 블록체인
- 오류역전파
- AP Computer Science A
- 시그모이드
- HMM
- 파이썬
- ncbi
- 결정트리
- 인공지능 수학
- COVID
- 딥러닝
- 인공신경망
- Kaggle
- MERS
- 서열정렬
- SVM
- Today
- Total
데이터 과학
상속 예제 본문
상속에 대한 예제입니다.
예제 1) 상속과 오버라이딩에 대한 예제입니다.
아래 예제는 이 컴파일러에서 실행하면 결과가 나옵니다.
https://www.programiz.com/java-programming/online-compiler/
class Main {
public static void walk() {
System.out.println("Human walks");
}
}
class Boy extends Main{
public static void walk(){
System.out.println("Boy walks");
}
public static void main(String[] args) {
Main obj = new Boy();
Main obj2 = new Main();
obj.walk();
obj2.walk();
}
}
결과 : Human walks
Human walks
예제 2)
class Human{
//Overridden Method
public void walk() {
System.out.println("Human walks");
}
}
class Demo extends Human{
//Overriding Method
public void walk(){
System.out.println("Boy walks");
}
public static void main( String args[]) {
/* Reference is of Human type and object is Boy type */
Human obj = new Demo();
/* Reference is of HUman type and object is of Human type.*/
Human obj2 = new Human();
obj.walk();
obj2.walk();
}
}
결과 :
예제 3)
Student와 UnderGrad, GradStudent 상속에 대한 예제입니다.
public class Student
{
//data members
public final static int NUM_TESTS = 3;
private String name;
private int[] tests;
private String grade;
//constructor
public Student() {
name = "";
tests = new int[NUM_TESTS];
grade = "";
}
//constructor
public Student(String studName, int[] studTests, String studGrade) {
name = studName;
tests = studTests;
grade = studGrade;
}
public String getName() {
return name; }
public String getGrade() {
return grade; }
public void setGrade(String newGrade) {
grade = newGrade; }
public void computeGrade() {
if (name.equals(""))
grade = "No grade";
else if (getTestAverage() >= 65)
grade = "Pass";
else
grade = "Fail";
}
public double getTestAverage() {
double total = 0;
for (int score : tests)
total += score;
return total/NUM_TESTS;
}
public static void main(String args[]){
//Student s = new Student();
//Student g = new GradStudent();
//Student u = new UnderGrad();
//GradStudent g = new Student();
//UnderGrad u = new Student();
//Consider these valid declarations:
Student s = new Student("Brian Lorenzen", new int[] {90,94,99}, "none");
Student u = new UnderGrad("Tim Broder", new int[] {90,90,100}, "none");
Student g = new GradStudent("Kevin Cristella", new int[] {85,70,90}, "none", 1234);
}
}
class UnderGrad extends Student {
public UnderGrad() //default constructor
{ super(); }
//constructor
public UnderGrad(String studName, int[] studTests, String studGrade) {
super(studName, studTests, studGrade);
}
public void computeGrade(){
if (getTestAverage() >= 70)
setGrade("Pass");
else
setGrade("Fail");
}
}
class GradStudent extends Student {
private int gradID;
public GradStudent() //default constructor
{
super();
gradID = 0;
}
//constructor
public GradStudent(String studName, int[] studTests, String studGrade, int gradStudID) {
super(studName, studTests, studGrade);
gradID = gradStudID;
}
public int getID() {
return gradID;
}
public void computeGrade() {
super.computeGrade();
if (getTestAverage() >= 90)
setGrade("Pass with distinction");
}
}

위 Student 상속되는 내용을 Blue J (https://www.bluej.org/) 프로그램으로 작성한 내용입니다.

프로그램 소스 입니다.
'AP > AP Computer Science A' 카테고리의 다른 글
| Blue J 설치 (0) | 2024.01.07 |
|---|---|
| super 예제 (1) | 2024.01.05 |
| 생성자 예제 (0) | 2024.01.04 |
| 제어문 관련 예제 (1) | 2024.01.04 |
| Case Study - Magpie lab (0) | 2023.08.22 |