黑马程序员技术交流社区

标题: 一个项目中,一个类中可以定义另外一个类的变量吗 [打印本页]

作者: 贡宗新    时间: 2013-4-11 22:40
标题: 一个项目中,一个类中可以定义另外一个类的变量吗
本帖最后由 贡宗新 于 2013-4-22 07:56 编辑

项目中已经有一个Bank类,在另外的ATM类中定义了一
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace ATM
  6. {
  7.     class ATM
  8.     {
  9.         private const string quitCode = "20060824";
  10.         private Bank bank;

  11.         public ATM(Bank bank)   //这个ATM构造函数中参数有什么作用
  12.         {
  13.             this.bank = bank;
  14.         }

  15.     }
  16. }
复制代码
个private Bank bank;这个bank是属于什么类型的,跟Bank类有什么关系
这个只是程序的一部分哈,Bank项目中有这个类
作者: 林声荣    时间: 2013-4-11 23:35
这个bank属于Bank类型,也就是定义一个Bank类的引用;
我举一个简单的例子哈:比如 平常我们定义一个字符串类是private String ss;ss是不是就是属于String类型的嘛,而String其实就是一个封装好了的类;

作者: 郑丹丹1990    时间: 2013-4-12 07:05
Bank属于Bank类型的,就如同 int i;只不过Bank在你眼里是特别的罢了。
它是Bank类型的一个变量。
楼上说的也很有道理呀!
作者: ゞSunペ果果つ    时间: 2013-4-12 07:27
可以定义吧,不是引用么?就像你使用其他基本类型一样,是可以使用的。比如:
class A{}
Class B{
A a=null;
}
这样是可以的。
作者: atwell    时间: 2013-4-12 09:46
构造注入,依赖注入的一种, 你这样写就是在ATM中定义了一个Bank的一个对象,定义私有只能ATM使用,赋值通过构造函数来注入,减少耦合性
作者: 宋兴征    时间: 2013-4-12 16:09
atwell 发表于 2013-4-12 09:46
构造注入,依赖注入的一种, 你这样写就是在ATM中定义了一个Bank的一个对象,定义私有只能ATM使用,赋值通 ...

请问,为什么是“减少耦合性”?这样的依赖性不高吗?
作者: 曾玉锋    时间: 2013-4-12 18:31
atwell 发表于 2013-4-12 09:46
构造注入,依赖注入的一种, 你这样写就是在ATM中定义了一个Bank的一个对象,定义私有只能ATM使用,赋值通 ...

构造注入和耦合性有关系么?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2