实验名称:面向对象练习

门门都精通,头发去无踪。

目录

一、实验目的

二、实验环境

三、实验步骤

四、实验结果

1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能

2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能

3.好友关系系统(page111)

4.a.定义一个表示用户(User)的Python类并定义初始化方法。

属性有:用户名(name)、密码(password)

方法有:获得用户名、获取密码、设置密码。

b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?

定义一个测试模块(test),在test中书写python程序入口,

并在入口中调用用户类中的设置密码的方法。

c.修改用户类(User),创建管理员的类(Admin)。

要求:

Admin类继承于User类,修改User类

要求其成员变量name可以被继承,password不可以被继承。

2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。

五、实验心得


一、实验目的

1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能

2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能

3.好友关系系统(page111)

4.a.定义一个表示用户(User)的Python类并定义初始化方法。

属性有:用户名(name)、密码(password)

方法有:获得用户名、获取密码、设置密码。

b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?

定义一个测试模块(test),在test中书写python程序入口,

并在入口中调用用户类中的设置密码的方法。

c.修改用户类(User),创建管理员的类(Admin)。

要求:

Admin类继承于User类,修改User类

要求其成员变量name可以被继承,password不可以被继承。

2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。

二、实验环境

安装pycharm2023.3.4 

安装适配的jdk

三、实验步骤

1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能

  • 定义一个圆类及其圆心位置/半径/颜色
  • 定义构造函数获取并输出圆的周长以及面积
  • 实例化对象,输入圆类数据,测试圆类的功能

2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能

  • 定义课程类及其属性(课程名/课程编号/任课老师/上课地点)
  • 定义构造函数(获取并设置课程位置、展示课程信息)
  • 输入课程信息,并打印出来

3.好友关系系统(page111)

  • 首先,定义一个好友类,其中包括属性(姓名、分组、备注)
  • 其次,定义一个好友管理类,其中包含(1.添加好友信息2.删除好友信息3.展示好友信息4.备注好友信息5.给好友分组6.退出好友管理系统)
  • 实例化对象,赋值给对象,调用好友管理类的方法与功能
  • 显示功能菜单,让用户选择需要使用的功能对应的数字
  • 使用while循环,进入类所定义的功能函数,进行不同的操作,按下exit键退出

4.a.定义一个表示用户(User)的Python类并定义初始化方法。

属性有:用户名(name)、密码(password)

方法有:获得用户名、获取密码、设置密码。

b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?

定义一个测试模块(test),在test中书写python程序入口,

并在入口中调用用户类中的设置密码的方法。

c.修改用户类(User),创建管理员的类(Admin)。

要求:

Admin类继承于User类,修改User类

要求其成员变量name可以被继承,password不可以被继承。

2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。

  • 将用户名和密码作为参数,并将其分别赋予对象的属性
  • Get_name和get_password用于获取用户名和密码,set_password用于修改密码
  • 在admin类中增加属性authority,并在初始化函数中进行赋值
  • 使用super().__init__(name,password)调用父类的初始化函数,以便将_name和_password的      初始化工做交给父类完成

四、实验结果

1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能

#1.设计一个圆类(Cirle),该类中包含圆心位置、半径、颜色等属性,还包括构造函数和计算圆的周长、面积的方法,设计完成后,测试类的功能
PI = 3.1415926
class Circle:
    def __init__(self,tup,radius,color):
        self.center = tup
        self.radius = radius
        self.color = color

    def calculate_destination(self):
        return (2 * PI * self.radius)
    def calculate_area(self):
        return self.radius * self.radius * PI

circle1 = Circle((2,3),7,"pink")
print(circle1)
print(circle1.calculate_destination())
print(circle1.calculate_area())

2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。其中,上课地点为location私有属性,设计完成后测试类的功能

# 2.设计一个课程类(Course),该类包含课程名name、课程编号number、任课老师teacher、上课地点location共4个属性,还有构造函数和显示课程信息的方法。
# 其中,上课地点为location私有属性,设计完成后测试类的功能
class Course:
    def __init__(self,name,number,teacher,location):
        self.name = name
        self.number = number
        self.teacher = teacher
        self.__location = location
    def getlocation(self):
        return self.__location
    def showcourse(self):
        return self.name,self.number,self.teacher
course1 = Course("python",1,"暑锋老师","e教")
print(course1.getlocation())
print(course1.showcourse())
course2 = Course("数据存储",2,"马文海老师","红楼")
print(course2.getlocation())
print(course2.showcourse())
course3 = Course("javaweb",3,"波波老师","红楼")
print(course3.getlocation())
print(course3.showcourse())

3.好友关系系统(page111)

# 3.好友关系系统(page111)
class Friend:
    def __init__(self,name,group = "未分组",remark='',):
        self.name = name
        self.group = group
        self.remark = remark

class FriendManager:
    def __init__(self):
        self.friends = []

    def addFriend(self,name,group="未分组",remark=''):
        friend = Friend(name,group,remark)
        self.friends.append(friend)
        print("好友添加成功!")

    def deleteFriend(self,name):
        for friend in self.friends:
            if friend.name == name:
                self.friends.remove(friend)
                print("删除成功")
                return
    print("无法找到该好友!")

    def showFriends(self):
        if not self.friends:
            print("无法找到该好友!")
        for friend in self.friends:
            print(f"该好友名字为{friend.name},分组为{friend.group},备注为:{friend.remark}")

    def remarkFriends(self,name,remark=''):
        for friend in self.friends:
            if friend.name == name:
                friend.remark = remark
                print("修改备注成功!")
                return
        print("无法找到该好友!")

    def showGroups(self,name,group):
        for friend in self.friends:
            if friend.name == name:
                friend.group =group
                print("修改分组成功!")
                return
        print("无法找到该好友!")

    def exitSystem(self):
        exit()

__name__ = "__main__"
fm =FriendManager()
while True:
    print("欢迎来到您的好友管理系统!")
    print("__1.添加好友信息__")
    print("__2.删除好友信息__")
    print("__3.展示好友信息__")
    print("__4.备注好友信息__")
    print("__5.给好友分组__")
    print("__6.退出好友管理系统__")
    option = input("请根据提示选择您所需要功能对应的数字:")
    if option == "1":
        name = input("请输入您要添加的好友名称:")
        group = input("请输入好友的分组:")
        remark = input("请输入好友的备注名:")
        fm.addFriend(name,group,remark)
    elif option == "2":
        name = input("请输入您要删除的好友名称:")
        fm.deleteFriend(name)
    elif option == "3":
        fm.showFriends()
    elif option == "4":
        name = input("请输入您要修改备注名好友的姓名:")
        remark = input("请输入要修改的备注名:")
        fm.remarkFriends(name,remark)
    elif option == "5":
        fm.showGroups(name,group)
    else:
        fm.exitSystem()

4.a.定义一个表示用户(User)的Python类并定义初始化方法。

属性有:用户名(name)、密码(password)

方法有:获得用户名、获取密码、设置密码。

b.如何将第一个编程题中用户(User)定义到模块(mysystem)中?

定义一个测试模块(test),在test中书写python程序入口,

并在入口中调用用户类中的设置密码的方法。

c.修改用户类(User),创建管理员的类(Admin)。

要求:

Admin类继承于User类,修改User类

要求其成员变量name可以被继承,password不可以被继承。

2)在Admin类中增加一个权限(authority)属性,并定义初始化函数。

class User:
    def __init__(self, name, password):
        self.name = name
        self.password = password
    def get_name(self):
        return self.name
    def get_password(self):
        return self.password
    def set_password(self, new_password):
        self.password = new_password

    class User:
        def __init__(self, name, password):
            self.name = name
            self._password = password

        def get_name(self):
            return self.name

        def get_password(self):
            return self._password

        def set_password(self, new_password):
            self._password = new_password

    class Admin(User):
        def __init__(self, name, password, authority):
            super().__init__(name, password)
            self.authority = authority

五、实验心得

本次实训,是对我本事的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是十分有意义的。经过这次实训,我收获了很多。这次实训丰富了我各方面的知识,提高了我的综合素质。

首先,它锻炼了我做项目的本事,提高了独立思考问题、自我动手操作的本事,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等。

将课堂的知识学以致用,把自己学过的东西再检验一遍,不仅仅可以温习知识,确认自己是否真的学会了;并且还可以学到新的东西;当没有思路的时候,在网上搜索的信息可以打开你的思维,扩充你的知识面。实验报告带给我们的收获比我们想象中还要更多。原先,学的时候感叹学的资料太难懂,此刻想来,有些其实并不难,关键在于理解。

  • 29
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java语言程序设计 实验讲义 黑龙江大学计算机科学技术学院 3月 前 言 《Java语言程序设计实验》在面向对象程序设计基本上,阐述Java语言编程基本及其设 计办法。内容涉及:Java程序输入输出、表达式与运算符、构造化程序设计、属性 和办法、继承和重载、包和接口、Applet与图形顾客界面以及有关Java网络设计等知识 ,本课程注重实际应用操作,采用实例解说为学生进一步学习J2EE和J2ME打下技术基本 。结合对实例开发,以学生为主体,充分发挥学生主观能动性,引导学生自学教材某些 内容,并锻炼学生自行开发各种小型程序模块;培养和锻炼学生运用Java语言进行网络 编程能力。《Java语言程序设计实验》是以程序设计操作为主技能课程,它由若干个独立 实验项目构成,与相应理论课—《Java语言程序设计》配套,本课程目的是: (1) 加深学生对课堂讲授内容理解,从计算机语言基本概念、面向对象程序设计基本办法 、语法规则等方面加深理解,打好面向对象程序设计、软件开发良好基本。 (2) 在上机实验,提高学生对Java 语言各某些内容综合使用能力,逐渐掌握Java语言程序设计规律与技巧。 (3) 在对Java 程序调试过程,提高学生分析程序浮现错误和排除这些错误能力。 (4) 通过上机实践,加深学生对计算机软件运营环境、Java 集成开发环境理解。 实验规定 《Java语言程序设计实验》是与《Java语言程序设计》理论课配套实验课程。通过本课程 实验训练,规定学生能运用所学理论知识进行基本面向对象程序设计,培养其规范编程 习惯,掌握基本操作技能和编程思想。同步要注意培养学生实事求是科学态度,互相协 作团队精神,为学习后续课程,参加实际工作和开展科学研究打下良好基本。详细规定 是: (1) 本课程实验为主,配合理论课教学。任课教师需向学生讲清课程性质,任务,规定, 课程安排和进度,平时考核内容,期末考试办法,实验守则及实验室安全制度等。 (2) 本课程重要设立下列实验:(1)基本操作训练,(2)验证性及设计实验;整个 实验过程涉及课前准备,实验操作,实验报告等环节。学生在实验前必要进行准备。 (3) 依照实验内容不同,基本操作性实验1 人1 组,设计实验可依照状况多人一组,每个实验规定在规定期间内由学生独立完毕。 (4) 实验过程,教师应在实验室进行巡视,及时回答问题,纠正学生错误操作,检查学生 实验报告。 (5) 任课教师要认真备课,提前预做实验,上好每一堂课。实验前清点学生人数。 实验验收将分为两个某些。第一某些是上机操作,涉及设计成果源程序验收与检查。 第二某些是提交书面实验报告。 实验1 Java 程序编辑、编译、运营环境及Java基本语法(4学时) 1.实验内容 1) 编写并调试运营HelloWorld应用程序。 2) 编写并调试运营HelloWorld小应用程序。 3) 设立path和classpath环境变量。 4) 实现一种整数N阶乘运算。N为固定常数。 (5)在屏幕上按如下格式输出乘法口诀表: 1X1=1 1X2=2 2X2=4 1X3=3 2X3=6 3X3=9 … 其,每行各种乘法公式之间用'\t'分割 (6)编写一种简朴猜数游戏程序: 运用Math.random()办法生成0-1之间double型数dNum,将dNum转换为0- 100之间整数iNum。 运用KeyInput.readInt()办法接受键盘输入整数inNum。如果inNum不大于iNum,在 屏幕上显示"输入值小,请输入更大数.";如果inNum不不大于iNum,在屏幕上显 示"输入值大,请输入更小数.";如果inNum等于iNum,在屏幕上显示"猜对了." ,并结束运营。 猜测错误时候,重新输入inNum,直到猜对为止。如果猜测10次后仍未猜对,显示 "猜测次数已达10次,猜数失败.",并结束程序运营。 程序调试通过后填写实验报告。 2.预习内容 Java语言概述 惯用控制语句格式 System.out.print和System.out.println办法区别 3.实验型 验证型 4.实验目 1) 理解 Java 程序运营环境; 2) 掌握程序调试所有过程; 3) 学会编写和调试 Java Application 和 Java Applet 程序; 4) 掌握java环境变量配备 5) 掌握Java循环控制语句和System.out.print、System.out.println办法使用 6) 掌握Java随机数办法和键盘输入KeyInput使用 5.实验规定 1) 在修改源程序文献名时,测试源程序文献名与否必要与公有名一致;若源程序 没有公有,源程序文献名可以如何命名; 2) 注意观测字节码文献何时生成,在

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值