E D R , A S I H C RSS

Constructor Parameter Method

Constructor Parameter Method

Constructor Method둜 μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€λ•Œ, 그리둜 λ„˜κ²¨μ€ νŒŒλΌλ©”ν„°λ“€μ„ μƒˆλ‘­κ²Œ λ§Œλ“€μ–΄μ§„ μΈμŠ€ν„΄μŠ€λ‘œ μ–΄λ–»κ²Œ κ°–κ³  μ˜€λŠ”κ°€? κ°€μž₯ μœ μ—°ν•œ 방법은 각각의 λ³€μˆ˜μ— λŒ€ν•΄ setter듀을 λ§Œλ“€μ–΄ μ£ΌλŠ” 것이닀. 즉,
~cpp 
class Point
{
/* ... */
	void setX(int x) { /* ... */ }
	void setY(int y) { /* ... */ }
	static Point* makeFromXnY(int x, int y)
	{
		Point* pt = new Point;
		pt->setX(x);
		pt->setY(y);
		return pt;
	}
/* ... */
};
μ΄λ ‡κ²Œ λ˜λŠ”κ²ƒμ΄λ‹€. ν•˜μ§€λ§Œ λ³€μˆ˜κ°€ λ§Žμ•„μ§ˆμˆ˜λ‘ setter듀은 계속 λŠ˜μ–΄λ‚œλ‹€. μ΄λŸ΄λ•Œμ—λŠ” λͺ¨λ“  λ³€μˆ˜λ₯Ό ν•œλ²ˆμ— setν•΄μ£ΌλŠ” ν•˜λ‚˜μ˜ λ©”μ†Œλ“œλ₯Ό λ§Œλ“ λ‹€. 그리고 접두사λ₯Ό set으둜 λͺ…λͺ…ν•΄μ£Όκ³  λ³€μˆ˜μ˜ 이름을 λ”Έλ €μ€λ‹€.
~cpp 
class Point
{
/* ... */
	static Point* makeFromXnY(int x, int y)
	{
		Point* pt = new Point;
		pt->setXnY(x,y);
		return pt;
	}
	void setXnY(int x, int y) // smalltalkμ—μ„œλŠ” setX:xNum y:yNumμ΄λΌλŠ” λ©”μ„Έμ§€λ₯Ό μ‚¬μš©ν•œλ‹€.
	{
		this->x = x;
		this->y = y;
	}
/* ... */
};

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:00
Processing time 0.0125 sec