声明父类person类
时间: 2023-12-07 14:04:38 浏览: 58
声明一个父类Person类,可以按照以下方式进行:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print("Hello, my name is {} and I am {} years old.".format(self.name, self.age))
```
在上述代码中,我们定义了一个名为Person的类,它具有两个属性:name和age。我们还定义了一个introduce()方法,该方法用于打印该人的姓名和年龄。如果需要更多的方法和属性,可以在Person类中进行添加。
相关问题
(1)定义一个抽象类Person,在Person类中声明两个属性:name和age,并设置其对应的getter方法,用于获取人的姓名和年龄;在Person类中声明一个有参构造方法,用于对Person类中的属性进行初始化;在Person类中声明一个say0方法和一个getContent0方法,在say0方法中调用getContent0方法。 (2)定义类Studet,并继承 Peson类。在Studnt类中声明一个属性score;声明 Student类的构造方法并重写Person类的getContent0方法。 (3)定义类Worker,并继承Person类。在Worker类中声明一个属性salary;声明 Worker类的构造方法并重写Person类的getContent0方法。 (6)在mainO·方法中使用父类引用指向子类对象的方式(向上转型),分别使用Person类和Warker类实例化两个Person对象perl和per2,并分别使用perl和per2调用sav0方法。
好的,我理解了你的问题。下面是你所描述的代码:
```java
// (1)定义一个抽象类Person,在Person类中声明两个属性:name和age,并设置其对应的getter方法,用于获取人的姓名和年龄;
abstract class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
// 在Person类中声明一个say0方法和一个getContent0方法,在say0方法中调用getContent0方法。
public void say0() {
System.out.println(getContent0());
}
public abstract String getContent0();
}
// (2)定义类Student,并继承Person类。在Student类中声明一个属性score;
class Student extends Person {
private int score;
public Student(String name, int age, int score) {
super(name, age);
this.score = score;
}
// 声明Student类的构造方法并重写Person类的getContent0方法。
@Override
public String getContent0() {
return "我是学生,今年" + getAge() + "岁,名字叫" + getName() + ",我的成绩是" + score + "分";
}
}
// (3)定义类Worker,并继承Person类。在Worker类中声明一个属性salary;
class Worker extends Person {
private double salary;
public Worker(String name, int age, double salary) {
super(name, age);
this.salary = salary;
}
// 声明Worker类的构造方法并重写Person类的getContent0方法。
@Override
public String getContent0() {
return "我是工人,今年" + getAge() + "岁,名字叫" + getName() + ",我的工资是" + salary + "元";
}
}
// (6)在main方法中使用父类引用指向子类对象的方式(向上转型),分别使用Person类和Worker类实例化两个Person对象per1和per2,并分别使用per1和per2调用say0方法。
public class Main {
public static void main(String[] args) {
Person per1 = new Student("小明", 18, 90);
Person per2 = new Worker("张三", 30, 5000);
per1.say0();
per2.say0();
}
}
```
希望这个代码能够解决你的问题。如果你有任何其他问题,可以继续问我。
java声明一个名为person的抽象类,声明共有抽象方法void calsalary(),employee类继承自person类,定义带三个参数的构造方法 String name,int age,String occupation,覆写父类的printinfo(),覆写父类的抽象方法calsalary(),将salary赋值为5000,Worker类继承自person类,内容同employee一样,分别实例化employee类与worker类的对象,并调用各自构造方法初始化属性
好的,以下是 Java 代码实现:
```java
// 声明抽象类 Person
abstract class Person {
// 声明共有抽象方法 void calsalary()
public abstract void calsalary();
}
// Employee 类继承自 Person 类
class Employee extends Person {
String name;
int age;
String occupation;
int salary;
// 带三个参数的构造方法
public Employee(String name, int age, String occupation) {
this.name = name;
this.age = age;
this.occupation = occupation;
}
// 覆写父类的 printinfo() 方法
public void printinfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Occupation: " + occupation);
System.out.println("Salary: " + salary);
}
// 覆写父类的抽象方法 calsalary()
public void calsalary() {
salary = 5000;
}
}
// Worker 类同样继承自 Person 类
class Worker extends Person {
String name;
int age;
String occupation;
int salary;
// 带三个参数的构造方法
public Worker(String name, int age, String occupation) {
this.name = name;
this.age = age;
this.occupation = occupation;
}
// 覆写父类的 printinfo() 方法
public void printinfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Occupation: " + occupation);
System.out.println("Salary: " + salary);
}
// 覆写父类的抽象方法 calsalary()
public void calsalary() {
salary = 5000;
}
}
// 实例化 Employee 类与 Worker 类的对象,并调用各自构造方法初始化属性
public class Main {
public static void main(String[] args) {
Employee emp = new Employee("John", 30, "Engineer");
emp.calsalary();
emp.printinfo();
System.out.println();
Worker worker = new Worker("Mary", 25, "Factory worker");
worker.calsalary();
worker.printinfo();
}
}
```
希望这个例子可以帮助你更好地理解 Java 中的抽象类和继承。