3.创建一个反映学生基本属性(name.sdept)和方法(eatlearm)的类,并实例化。【注:①吃肉餐费10元,其他餐费5元,②学生会学习多门课程,只有学习到Python课程,才会“前途似锦”,其他都是“道路曲折”】
时间: 2023-11-27 15:02:48 浏览: 54
下面是实现要求的代码:
```python
class Student:
def __init__(self, name, sdept):
self.name = name
self.sdept = sdept
def eatlearn(self, course):
if course == "Python":
print("前途似锦")
else:
print("道路曲折")
if "肉" in course:
print("{}吃肉,餐费10元".format(self.name))
else:
print("{}不吃肉,餐费5元".format(self.name))
```
接下来进行实例化:
```python
stu1 = Student("Tom", "Computer Science")
stu1.eatlearn("Math")
stu1.eatlearn("Python")
stu1.eatlearn("Meat")
```
输出结果为:
```
Tom不吃肉,餐费5元
道路曲折
Tom吃肉,餐费10元
前途似锦
Tom吃肉,餐费10元
道路曲折
```
相关问题
python创建一个反映学生基本属性(name.sdept)和方法(eat.learn)的类,并实例化。【注:吃肉餐费10元,其他餐5元,学生会学习多门课程,只有学习到python课程,才会“前程似锦”,其他都是“道路曲折”】
可以用以下代码来创建该类和实例化:
```python
class Student:
def __init__(self, name, sdept):
self.name = name
self.sdept = sdept
def eat(self, meal):
if meal == 'meat':
cost = 10
else:
cost = 5
print(f"{self.name} ate {meal} and paid {cost} yuan.")
def learn(self, course):
if course == 'python':
result = "前程似锦"
else:
result = "道路曲折"
print(f"{self.name} learned {course} and got the result of {result}.")
```
使用这个类来实例化一个学生对象:
```python
stu = Student('Tom', 'Computer Science')
```
现在我们可以调用该对象的方法,比如:
```python
stu.eat('meat')
stu.learn('python')
```
这将输出:
```
Tom ate meat and paid 10 yuan.
Tom learned python and got the result of 前程似锦.
```
1、(类的继承)编写一个Java程序,要求在程序中定义一个Person类,包含属性name、ssex、age及其相关的方法,再定义一个Student类继承自Person类,Student类中增加属性sdept(所在系)及其相关的方法,然后再定义一个主类MainClass,在main()方法中,生成Student类的对象stu,并用stu调用相应的方法设置与输出相应类的成员变量; 2、(继承关系中构造方法的调用顺序)编写一个具有F01、F02和F03三个类的Java程序,F01继承自F02,F02继承自F03,每个类都有自己的无参构造方法,实例化某一个类,验证继承关系中构造方法的调用顺序;
1、Person类的代码如下:
```
public class Person {
private String name;
private String sex;
private int age;
public void setName(String name) {
this.name = name;
}
public void setSex(String sex) {
this.sex = sex;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public String getSex() {
return sex;
}
public int getAge() {
return age;
}
}
```
Student类继承Person类,并增加sdept属性及相关方法,代码如下:
```
public class Student extends Person {
private String sdept;
public void setSdept(String sdept) {
this.sdept = sdept;
}
public String getSdept() {
return sdept;
}
}
```
MainClass类的代码如下:
```
public class MainClass {
public static void main(String[] args) {
Student stu = new Student();
stu.setName("张三");
stu.setSex("男");
stu.setAge(20);
stu.setSdept("计算机科学与技术");
System.out.println("姓名:" + stu.getName() + ",性别:" + stu.getSex() + ",年龄:" + stu.getAge() + ",所在系:" + stu.getSdept());
}
}
```
输出结果为:
```
姓名:张三,性别:男,年龄:20,所在系:计算机科学与技术
```
2、F03类的代码如下:
```
public class F03 {
public F03() {
System.out.println("F03");
}
}
```
F02类继承自F03,代码如下:
```
public class F02 extends F03 {
public F02() {
System.out.println("F02");
}
}
```
F01类继承自F02,代码如下:
```
public class F01 extends F02 {
public F01() {
System.out.println("F01");
}
}
```
在Main方法中实例化F01类,代码如下:
```
public class Main {
public static void main(String[] args) {
F01 f = new F01();
}
}
```
输出结果为:
```
F03
F02
F01
```
继承关系中构造方法的调用顺序为:先调用父类的构造方法,再调用子类的构造方法。
阅读全文