第四周课程总结&实验报告(二)

实验二 Java简单类与对象
实验目的
掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。
实验内容
1、写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

(1) 使用构造函数完成各属性的初始赋值

(2) 使用get…()和set…()的形式完成属性的访问及修改

(3) 提供计算面积的getArea()方法和计算周长的getLength()方法
实验代码:

package 实验室;                              
public class Rectangle {                                                                                                                                                            //定义矩形类
    double width=5,hight=7;                                                                                                                                                    // 矩形宽度、高度
    String color = "red";                                                                                                                                                            //矩形颜色
    double area;                                                                                                                                                                      //矩形面积
    double length;                                                                                                                                                                     //矩形周长
    
    public Rectangle(double width,double hight,String color){                                                                                                    //矩形类属性初始化
        this.setWidth(width);                                                                                                                                                                //设置宽度
        this.setHight(hight);                                                                                                                                                                  //设置高度
        this.setColor(color);                                                                                                                                                                    //设置颜色
        this.setArea(width,hight);                                                                                                                                                            // 设置矩形面积
        this.setLength(width,hight);                                                                                                                                                         //设置矩形周长
    }   
    public double getWidth() {                                                                                                                                                    //用get()修改取得矩形宽度、长度、颜色、面积、周长等
        return width;
    }
    public void setWidth(double width) {
        this.width = width;
    }
    public double getHight() {
        return hight;
    }
    public void setHight(double hight) {
        this.hight = hight;
    }
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
    public double getArea() {
        return area;
    }
    public void setArea(double width,double hight) {
        this.area = width*hight;
    }
    public double getLength() {
        return length;
    }
    public void setLength(double width,double hight) {
        this.length = 2*(width+length);
    }
}
public class Rectangle{                                                                                                                                                                                           //测试以上代码
public static void main(String[] args) {
Rectangle rec = null;                                                                                                                                                                                     //声明对象
Rec = new Rectangle("area","length","color");                                                                                              
     System.out.println("面积="+Rec.getArea()+",周长="+Rec.getLength()+",颜色:"+Rec.getColor());                                                        //实例化Rectangle对象,赋值输出

    }
}

错误提示:1580382-20190920165502386-831313777.png
原因是该矩形类已经被定义使用。(由于才疏学浅,还在找原因ing)

2、银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。
实验代码:(还在看书百度思考ing)

本周课程总结:
我学到了什么:
本周我们继续学习面向对象编程,着重学习了“string”类中的常用方法:
1580382-20190920171052592-662771795.png
1580382-20190920171241563-629576868.png
String类的实例化:直接赋值和 “new”一个对象赋值(构造方法)。
区别:直接赋值 只开辟一块堆内存空间,并自动保存在对象池中以供下次重复使用;构造方法会开辟两块堆内存空间,其中有一块空间成为垃圾,并不会自动入池,可以通过使用intern()方法手工入池。
EP:学习了“ 包” 的概念及其使用:包的目的在于实现程序的分割保存。
PS:1580382-20190920171753816-1414260817.png

我学习不足在哪:
对eclipse的部分功能还不熟悉,在新建一个新class,很容易出错导致编译错误,对类的定义没有好好掌握;
代码很多看得懂,但自己来写却难以运行,或者运行错误;(很多时候都找不到原因,tnl)
对于算法还是不能很好的理解和应用,有些算法非常巧妙,就是想不到(还是太gag了)
对于构造法还是不太熟悉;

我学习需改进在哪:
写出简洁易懂的代码;
自己能够独立完成算法的设计;
每天写点代码,写个程序.....。

转载于:https://www.cnblogs.com/ImportantMagic/p/11552934.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring和MyBatis是目前比较流行的Java开发框架,它们的结合可以帮助我们快速开发一个功能完善的Web应用。课程管理是一个常见的业务场景,下面是我对于使用Spring和MyBatis开发课程管理的实验总结: 1. 配置数据源 在Spring中配置数据源是非常重要的一步,我们可以使用Spring自带的数据源或者第三方数据源。在本次实验中,我使用了阿里巴巴的Druid数据源。在application.properties文件中配置数据源的相关信息,如下所示: ``` spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/course spring.datasource.username=root spring.datasource.password=123456 ``` 2. 配置MyBatis MyBatis是一个非常优秀的持久层框架,它可以帮助我们轻松地完成数据库的CRUD(增删改查)操作。我们需要在Spring中配置MyBatis,以便让Spring能够自动扫描MyBatis的Mapper接口,并生成对应的实现类。在application.properties文件中配置MyBatis的相关信息,如下所示: ``` mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.course.model ``` 3. 创建实体类和Mapper接口 在完成数据源和MyBatis的配置后,我们需要创建实体类和Mapper接口。实体类对应数据库中的表结构,Mapper接口用于定义数据库的CRUD操作。我们可以使用注解或XML文件来定义Mapper接口,下面是一个使用注解来定义Mapper接口的示例: ```java @Mapper public interface CourseMapper { @Select("SELECT * FROM course") List<Course> findAll(); @Select("SELECT * FROM course WHERE id=#{id}") Course findById(@Param("id") int id); @Insert("INSERT INTO course(name, teacher, credit, period, remark) VALUES(#{name}, #{teacher}, #{credit}, #{period}, #{remark})") void save(Course course); @Update("UPDATE course SET name=#{name}, teacher=#{teacher}, credit=#{credit}, period=#{period}, remark=#{remark} WHERE id=#{id}") void update(Course course); @Delete("DELETE FROM course WHERE id=#{id}") void delete(int id); } ``` 4. 编写业务逻辑代码 在完成实体类和Mapper接口的定义后,我们需要编写业务逻辑代码。业务逻辑代码主要用于处理用户请求,调用Mapper接口完成数据库操作。在本次实验中,我使用了Spring的@Service注解来标注业务逻辑代码,如下所示: ```java @Service public class CourseService { @Autowired private CourseMapper courseMapper; public List<Course> findAll() { return courseMapper.findAll(); } public Course findById(int id) { return courseMapper.findById(id); } public void save(Course course) { courseMapper.save(course); } public void update(Course course) { courseMapper.update(course); } public void delete(int id) { courseMapper.delete(id); } } ``` 5. 编写Controller代码 最后一步是编写Controller代码,Controller用于处理用户请求并返回相应的视图或数据。在本次实验中,我使用了Spring的@RestController注解来标注Controller代码,如下所示: ```java @RestController @RequestMapping("/course") public class CourseController { @Autowired private CourseService courseService; @GetMapping("") public List<Course> findAll() { return courseService.findAll(); } @GetMapping("/{id}") public Course findById(@PathVariable("id") int id) { return courseService.findById(id); } @PostMapping("") public void save(@RequestBody Course course) { courseService.save(course); } @PutMapping("") public void update(@RequestBody Course course) { courseService.update(course); } @DeleteMapping("/{id}") public void delete(@PathVariable("id") int id) { courseService.delete(id); } } ``` 以上就是使用Spring和MyBatis开发课程管理的主要步骤和代码示例。总的来说,Spring和MyBatis的结合可以帮助我们快速开发一个功能完善的Web应用,但是需要我们对于它们的使用方法和原理有一定的了解。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值