<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>encapsulation &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/encapsulation/</link>
	<description>Feed of posts on WordPress.com tagged "encapsulation"</description>
	<pubDate>Tue, 01 Dec 2009 01:31:52 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[yet2.com Presents 4 New Encapsulation Technologies..Webinar 12/11 @ 11am EST]]></title>
<link>http://bendupont.yet2.com/2009/11/24/yet2-com-presents-4-new-encapsulation-technologies-webinar-1211-11am-est/</link>
<pubDate>Tue, 24 Nov 2009 17:10:06 +0000</pubDate>
<dc:creator>bendupont</dc:creator>
<guid>http://bendupont.yet2.com/2009/11/24/yet2-com-presents-4-new-encapsulation-technologies-webinar-1211-11am-est/</guid>
<description><![CDATA[yet2.com sees a lot of market interest in encapsulation technologies. We are having a webinar on 4 t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>yet2.com sees a lot of market interest in encapsulation technologies.</p>
<p>We are having a webinar on 4 that we think are particularly interesting. This live webinar features four new technologies and an overview of the market by Dr. Eugene Buff, <em>yet2.com</em>’s vice president of consulting. Not just a lecture, the webinar format offers ample opportunity for electronic interaction with the principals.</p>
<p><strong>REGISTER NOW</strong><br />
<a href="https://empweb.yet2.net/exchweb/bin/redir.asp?URL=https://www2.gotomeeting.com/register/310003931" target="_blank">https://www2.gotomeeting.com/register/310003931</a></p>
<p>As of the writing of this blog post 84 companies have singed up to participate on Friday December 11, 11:00–12:30pm US Eastern Standard Time.</p>
<p><strong>Moderator:</strong></p>
<ul>
<li><strong>Dr. Eugene Buff,</strong> <em>yet2.com</em> vice president, consulting</li>
</ul>
<p><strong>4 New Technologies:</strong></p>
<p><strong><!--more--><br />
</strong></p>
<ul>
<li><strong>Microencapsulation for drug delivery,</strong> Cory Berkland, Orbis Bioscience</li>
<li><strong>Efficient membrane coating and production technology,</strong> Luc Vanmaele, AGFA</li>
<li><strong>Microencapsulated, water-dispersbile nanomaterials,</strong> Ken Yoon, Vive Nano</li>
<li><strong>Controlling free radical polymers using “Living Polymers,”</strong> Vendy Tomko, DuPont</li>
</ul>
<p>Dr. Buff will present opening remarks and overview, followed by the four presentations in order at approximately 15-minute intervals. Each presenter will answer submitted questions at the end of his presentation.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tugas ke-dua PBO]]></title>
<link>http://yuniartypbo.wordpress.com/2009/10/21/tugas-ke-dua-pbo/</link>
<pubDate>Wed, 21 Oct 2009 16:18:39 +0000</pubDate>
<dc:creator>Yuniarty Utami</dc:creator>
<guid>http://yuniartypbo.wordpress.com/2009/10/21/tugas-ke-dua-pbo/</guid>
<description><![CDATA[Tugas PBO yang ke-dua ini adalah mengenai contoh dari information hiding, encapsulation dan inherita]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Tugas PBO yang ke-dua ini adalah mengenai contoh dari <em>information hiding</em>, <em>encapsulation</em> dan <em>inheritance</em> atau pewarisan.</p>
<p><span style="color:#ffffff;">****</span></p>
<h3><span style="color:#ee82ee;">1<span style="color:#99cc00;">.</span> Superclass <span style="color:#99cc00;">dan</span> Subclass</span></h3>
<p><span style="color:#666699;"><span style="text-decoration:underline;">SUPERCLASS:</span></span><br />
class hewan {<br />
public void methodAwal() {<br />
system.out.println(&#8220;Action superclass: &#8220;);<br />
system.out.println(&#8220;a. Berjalan&#8221;);<br />
system.out.println(&#8220;b. Bernafas&#8221;);<br />
}<br />
public static void main(string[] args) {<br />
hewan oks = new hewan();<br />
oks.methodAwal();<br />
}</p>
<p>}</p>
<p><!--more--></p>
<p><span style="color:#666699;"><span style="text-decoration:underline;">OUTPUT:</span></span><br />
Action superclass:<br />
a. Berjalan<br />
b. Bernafas</p>
<p><span style="color:#ffffff;">*****************************</span></p>
<p><span style="color:#666699;"><span style="text-decoration:underline;">SUBCLASS:</span></span></p>
<p>class hewanBersayap extends hewan {<br />
public void methodPemanggil() {<br />
super.methodAwal();<br />
}<br />
public void methodNama() {<br />
system.out.println(&#8220;Subclass: Hewan bersayap &#8220;);<br />
system.out.println(&#8220;a. Angsa&#8221;);<br />
system.out.println(&#8220;b. Capung&#8221;);<br />
}<br />
public void methodJmlsayap() {<br />
system.out.println(&#8220;Jumlah sayap:&#8221;);<br />
system.out.println(&#8220;a. Satu pasang&#8221;);<br />
system.out.println(&#8220;b. Dua pasang&#8221;);<br />
}<br />
public static void main(String[] args) {<br />
hewanBersayap oks = new hewanBersayap();<br />
oks.methodPemanggil();<br />
oks.methodNama();<br />
oks.methodJmlsayap();<br />
}<br />
}</p>
<p><span style="color:#808080;"><span style="text-decoration:underline;">OUTPUT:</span></span><br />
Subclass: Hewan bersayap<br />
a. Angsa<br />
b. Capung<br />
Jumlah sayap:<br />
a. Satu pasang<br />
b. Dua pasang</p>
<p><span style="color:#ffffff;">********************************</span></p>
<h3><span style="color:#ee82ee;">2<span style="color:#99cc00;">.</span> Information hiding <span style="color:#99cc00;">dan</span> Encapsulation</span></h3>
<p>public class persegi {<br />
private double sisi;<br />
public persegi() {<br />
sisi=0;<br />
}<br />
private double luas(double s) {<br />
return s*s;<br />
}<br />
public void setSisi(double sisi) {<br />
this.sisi=sisi;<br />
}<br />
public double getSisi() {<br />
return sisi;<br />
}<br />
public double getLuas() {<br />
return luas(sisi);<br />
}<br />
}</p>
<p>public class mainPersegi {<br />
public static void main(string[] args) {<br />
persegi pp = new persegi();<br />
pp.setSisi (15);<br />
system.out.println(&#8220;Sisi = &#8220;+ pp.getSisi());<br />
system.out.println(&#8220;Luas = &#8220;+ pp.getLuas());<br />
}<br />
}</p>
<p><span style="color:#666699;"><span style="text-decoration:underline;">OUTPUT:</span></span><br />
Sisi = 15.0<br />
Luas = 225.0</p>
<p><span style="color:#ffffff;">yuniarty utami</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Encapsulation in PHP]]></title>
<link>http://wshell.wordpress.com/2009/10/12/encapsulation-in-php/</link>
<pubDate>Mon, 12 Oct 2009 18:56:04 +0000</pubDate>
<dc:creator>Wes Shell</dc:creator>
<guid>http://wshell.wordpress.com/2009/10/12/encapsulation-in-php/</guid>
<description><![CDATA[Target Audience: Beginners to Object Oriented Programing who use PHP.  Anyone looking for a detailed]]></description>
<content:encoded><![CDATA[Target Audience: Beginners to Object Oriented Programing who use PHP.  Anyone looking for a detailed]]></content:encoded>
</item>
<item>
<title><![CDATA[About Crawl Space Encapsulation from The Basement Doctor]]></title>
<link>http://thebasementdoctor.wordpress.com/2009/10/05/about-crawl-space-encapsulation-from-the-basement-doctor/</link>
<pubDate>Mon, 05 Oct 2009 19:22:17 +0000</pubDate>
<dc:creator>Eric Shepard, Basement Apprentice</dc:creator>
<guid>http://thebasementdoctor.wordpress.com/2009/10/05/about-crawl-space-encapsulation-from-the-basement-doctor/</guid>
<description><![CDATA[Stopping mold, rot and odors in crawl spaces There are only two primary ingredients needed for rot a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Stopping mold, rot and odors in crawl spaces</strong><br />
There are only two primary ingredients needed for rot and mold to thrive: one is organic material, like the wood beneath a home, and the second is water. Replacing the wood in a house is practically impossible, so the only avenue to preventing structural damage and those musty smells is to eliminate the moisture. </p>
<p><a href="http://jdbasementsystems.com/crawlspace-i-60.html"><img src="http://thebasementdoctor.wordpress.com/files/2009/10/house-art-silo.jpg?w=150" alt="House-art-silo" title="House-art-silo" width="150" height="130" class="alignleft size-thumbnail wp-image-193" /></a><strong>Crawl Space Encapsulation</strong> Previously the tactic was to add vents to a crawl space, which were supposed to allow the moisture to dissipate. These vented crawl spaces, instead of becoming less damp, end up being more wet for several reasons. The stack effect, a house’s natural tendency to draw air in from the crawl space and lower levels upward into living spaces, means that instead of letting moist air out, a house sucks more moist air in! Another problem with venting a crawl space is that it allows all kinds of bugs and critters direct access to a home. </p>
<p> The biggest issue with adding vents is that it does not address the main problem – moisture from the dirt beneath a home – so venting a crawl space isn’t even addressing the actual problem. </p>
<p>Even if a crawl space is not flooded or visibly wet, that additional humidity can spell trouble for your home – and your health. The fungus responsible for rot and mold not only eats away at the structure of a home, but spreads by producing millions and millions of airborne spores. These spores are a prime suspect for aggravating allergies and many people don’t even know what it is that bothers them when they are at home. </p>
<p><a href="http://jdbasementsystems.com/crawlspace-i-60.html"><img src="http://thebasementdoctor.wordpress.com/files/2009/10/cleanspace-encapsulation3.jpg?w=150" alt="cleanspace-encapsulation" title="cleanspace-encapsulation" width="150" height="93" class="alignleft size-thumbnail wp-image-199" /></a><strong>Crawl Space Rot &#38; Mold</strong>There is a solution, however, to all of these problems. Instead of struggling against nature to remove moisture from a crawl space, The Basement Doctor and Basement Systems developed the CleanSpace Crawl Space Encapsulation System, which seals a crawl space off from that moisture coming up from the dirt and from the damp air outside. </p>
<p><strong>CleanSpace Crawl Space Encapsulation System </strong><br />
Rather than let the moisture in and then try to get rid of it, CleanSpace isolates a home from the earth entirely so the humidity never gets in there to begin with. This strategy also stops bugs and other critters from getting into a crawl space while reducing, or sometimes even eliminating mold growth and rot. </p>
<p>The key to the CleanSpace system is the patented, 20-mil thick liner material. It is a tough blend of seven polyethylene and polyester cord reinforcement layers, designed specially for crawl spaces. Since the side you see after installation is bright white, it really brightens a crawl space and lets you know that it is free of mold, insects and dirt. The liner is so tough you can crawl on it and use your crawl space for storage without worry of putting holes or tears in it. And, of course, it completely stops moisture from getting in and ruining the underside of your house. </p>
<p>If you would like to <a href="http://jdbasementsystems.com/crawlspace-i-60.html">read more about the CleanSpace Crawl Space Encapsulation System The Basement Doctor website has more information. </a></p>
<p>The Basement Doctor organization has local offices with crawl space experts in Columbus Ohio (servicing Worthington, Westerville, Reynoldsburg, Gahanna, Dublin, Powell, Pickerington, Grove City, Bexley, Grandview, Hilliard, Whitehall, New Albany, Upper Arlington, Marysville, Delaware, Marion, Delaware county, Franklin county),  Cincinnati (servicing Dayton, Fairfield, Hamilton, Kettering, Lexington and Louisville Kentucky), Lima (servicing Toledo, Sidney, Defiance, Celina, Kenton, Bowling Green, Findlay, Wapakoneta, Ottawa, Bluffton, Cridersville, Maumee, Perrysburg, St Mary&#8217;s, Van Wert, Tiffin, Fremont, Norwalk, Sandu, skynorthwest Ohio and Ft Wayne, Elkart  Indiana) plus Parkersburg West Virginia and Evansville Indiana!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Develop code that implements tight encapsulation]]></title>
<link>http://nayeemmodi.wordpress.com/2009/10/05/develop-code-that-implements-tight-encapsulation/</link>
<pubDate>Mon, 05 Oct 2009 04:52:45 +0000</pubDate>
<dc:creator>nayeemmodi</dc:creator>
<guid>http://nayeemmodi.wordpress.com/2009/10/05/develop-code-that-implements-tight-encapsulation/</guid>
<description><![CDATA[package encaps; class book { private String name=&#8221;Robert jackson&#8221;; // Declaring a instan]]></description>
<content:encoded><![CDATA[package encaps; class book { private String name=&#8221;Robert jackson&#8221;; // Declaring a instan]]></content:encoded>
</item>
<item>
<title><![CDATA[Separation of concerns]]></title>
<link>http://techrealm.wordpress.com/2009/10/04/separation-of-concerns/</link>
<pubDate>Sun, 04 Oct 2009 15:26:31 +0000</pubDate>
<dc:creator>sundeepk</dc:creator>
<guid>http://techrealm.wordpress.com/2009/10/04/separation-of-concerns/</guid>
<description><![CDATA[In the software industry we tend to come across this term a number of times. It mainly deals with se]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>
In the software industry we tend to come across this term a number of times. It mainly deals with separating all the concerns (overlapping features) of a computer program into distinct features or behaviours.
</p>
<p>
This is mainly achieved through modularity and encapsulation. Usually in any major application we have a number of layers like the presentation, business logic, data access and the database layer. This is also an example of separation of concerns(SoC).
</p>
<p>
The most common and lucid example of separation of concerns has to be the web page. It is a combination of html(content), css(style) and javascript(behaviour). As a good practice all these 3 layers are always maintained separately (SoC) so that the content is always available(visible to the user) irrespective of  failures of the presentation and the behaviour layers.
</p>
<p>
MVC also achieves something similar by separating the content from presentation and model from content.<br />
Languages like C#, Java etc achieve this by separating concerns into objects while procedural programming languages like C etc achieve the same by separating concerns into procedures.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[eBook cấu hình 12 loại modem ADSL thông dụng]]></title>
<link>http://anhhangxomonline.wordpress.com/2009/10/01/ebook-c%e1%ba%a5u-hinh-12-lo%e1%ba%a1i-modem-adsl-thong-d%e1%bb%a5ng/</link>
<pubDate>Thu, 01 Oct 2009 01:15:14 +0000</pubDate>
<dc:creator>anhhangxomonline</dc:creator>
<guid>http://anhhangxomonline.wordpress.com/2009/10/01/ebook-c%e1%ba%a5u-hinh-12-lo%e1%ba%a1i-modem-adsl-thong-d%e1%bb%a5ng/</guid>
<description><![CDATA[Có bao giờ bạn tự hỏi các chữ viết tắt, tín hiệu đèn, các cổng trên modem ADSL có ý nghĩa gì ? Bình ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Có bao giờ bạn tự hỏi các chữ viết tắt, tín hiệu đèn, các cổng trên modem ADSL có ý nghĩa gì ? Bình thường có thể bạn không cần quan tâm nhưng đến khi xảy ra sự cố không truy cập được Internet thì những thông tin trên hết sức quan trọng vì có thể giúp bạn tự tìm ra nguyên nhân và cách khắc phục trước khi gọi cho nhà cung cấp dịch vụ. eBook “Cấu hình 12 loại modem ADSL thông dụng” của tác giả Napoleon_tq sưu tầm và tổng hợp từ internet sẽ giúp bạn hiểu rõ hơn về thông tin, cách cài đặt, cách truy cập vào modem để cấu hình. Mỗi modem được trình bày trong eBook đều có hình minh họa và những hướng dẫn cài đặt rất chi tiết. Hiện tại bạn có thể tìm hiểu thông tin của 12 loại modem (bao gồm username, password và điạ chỉ IP mặc định cuả modem) : Micronet, Aztech, SpeedTouch 530, Postef, Prolink, SmartLink, Billion, Zoom, Zyxel, SpeedStream, Huawei, D-Link.<br />
<a href="http://www.anhhangxomonline.comze.com/2009/09/ebook-cau-hinh-12-loai-modem-adsl-thong-dung/#more-1646">Đọc tiếp… »</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[basic of C# (part 24)]]></title>
<link>http://sevenlamp.wordpress.com/2009/09/29/oop/</link>
<pubDate>Tue, 29 Sep 2009 03:25:00 +0000</pubDate>
<dc:creator>sevenlamp</dc:creator>
<guid>http://sevenlamp.wordpress.com/2009/09/29/oop/</guid>
<description><![CDATA[ကဲ ဒီေန႔ေတာ့ database အပိုင္းေလး ခဏနားျပီး C# ဘက္ကို နည္းနည္းျပန္လွည့္ေအာင္။ ကြၽန္ေတာ္တို႔ အခုေနာက္ပ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">ကဲ ဒီေန႔ေတာ့ database အပိုင္းေလး ခဏနားျပီး C# ဘက္ကို နည္းနည္းျပန္လွည့္ေအာင္။ ကြၽန္ေတာ္တို႔ အခုေနာက္ပိုင္း programming language မွာ အသံက်ယ္က်ယ္ေလာင္ေလာင္ ျဖစ္လာတာက OOT လို႔ ေခၚတဲ႔ Object-Oriented Technique ပဲျဖစ္ပါတယ္။ OO မွာ ဘာေတြပါလဲ…</p>
<p>အေမြဆက္ခံျခင္းလို႔ ေခၚတဲ႔ inheritance၊</p>
<p>အသြင္ေျပာင္းျခင္းလို႔ေျပာလို႔ရတဲ႔ Polymorphism၊</p>
<p>Data hiding လို႔ေခၚတဲ႔ member data ေတြကို သို၀ွက္သိမ္းဆည္းထားျခင္း၊</p>
<p>Encapsulation သိမ္းဆည္းထားတဲ႔ member data ေတြကို တဆင့္ခံျဖင့္ သံုးခြင့္ေပးျခင္း၊</p>
<p>စသည္ျဖင့္ေပါ႔ဗ်ာ.. အဲ့ဒါေတြ ပါပါတယ္။</p>
<p><strong><span style="color:#ff00ff;">Inheritance</span> အေမြဆက္ခံျခင္းဆိုတာဘာလဲ??? </strong></p>
<p style="text-align:justify;">ဒီလိုေလးေတြးၾကည့္ရေအာင္ဗ်ာ အခုကြၽန္ေတာ္တို႔ မိဘေတြပိုင္ဆိုင္တဲ႔ ပိုင္ဆိုင္မႈေတြဟာ ကြၽန္ေတာ္တို႔ရဲ႕ ပိုင္ဆိုင္မႈေတြပါပဲ။ ဒီလိုပါပဲ ကြၽန္ေတာ္တို႔ရဲ႕ ပိုင္ဆိုင္မႈေတြကိုလည္း ကြၽန္ေတာ္တို႔ရဲ႕ မ်ိဳးဆက္သစ္ေတြက ပိုင္ဆိုင္ၾကဦးမွပါ။ ဒီသေဘာတရားေလးကို ယူျပီး OOမွာ inheritance ဆိုတာေပၚေပါက္လာတာပါ။ class တစ္ခုရဲ႕ ပိုင္ဆိုင္မႈ property ေတြဟာ အဲ့ဒီ class ရဲ႕ child ေတြကလည္း ပိုင္ဆိုင္နိုင္ပါတယ္။ ဒီလို ပိုင္ဆိုင္နိုင္ျခင္းအားျဖင့္ ကြၽန္ေတာ္တို႔က class ေတြအားလံုး အတြက္ တူညီတဲ႔ property ေတြကို အၾကိမ္ၾကိမ္ေၾကျငာေပးေနစရာ မလိုေတာ့ပါဘူး။ ဥပမာဗ်ာ ကြၽန္ေတာ္က လူတစ္ေယာက္ကို ကိုယ္စားျပဳမယ့္ class တစ္ခုေဆာက္မယ္ဆိုရင္ အဲ့ဒီ class ထဲမွာ ဘယ္လို member ေတြပါမလဲ စဥ္းစားၾကည့္၊ နံမည္ပါမယ္၊ အသက္ပါမယ္၊ ေနရပ္လိပ္စာပါမယ္ဗ်ာ၊ စသည္ျဖင့္ေပါ့။</p>
<div style="background-color:lightgray;padding:5px;">
<pre>class People
{
    string Name;
    int Age;
    string Address;
}
</pre>
</div>
<p style="text-align:justify;">ကဲ…အခု ေနာက္တစ္ခါ ကြၽန္ေတာ္က ေက်ာင္းသားတစ္ေယာက္ကို ကိုယ္စားျပဳမယ့္ class တစ္ခုထပ္ေဆာက္ဖို႔ လိုလာျပီဆိုရင္ေရာ ဘယ္လို member ေတြပါမလဲ၊ ေက်ာင္းသားမွာလည္း နံမယ္ပါမယ္၊ အသက္ပါမယ္၊ လိပ္စာပါမွာပါပဲ၊ ေက်ာင္းသားမွာ ပိုပါလာတာက roll နံပါတ္ပါမယ္၊ class ပါပါမယ္။</p>
<div style="background-color:lightgray;padding:5px;">
<pre>class Student
{
    string Name;
    int Age;
    string Address;
    int Roll;
    int Class;
}
</pre>
</div>
<p style="text-align:justify;">ဟုတ္ျပီ ဒီလိုအေျခအေနမ်ိဳးမွာ နံမည္တို႔ အသက္တို႔ကို ထပ္ျပီး မေၾကျငာခ်င္ဘူးဆိုရင္ ကြၽန္ေတာ္တို႔ Student class ကို People class ရဲ႕ child အျဖစ္ ေၾကျငာလို႔ ရပါတယ္။ ဒီလိုမ်ိဳးပါ…</p>
<div style="background-color:lightgray;padding:5px;">
<pre>class Student <span style="color:#ff00ff;"><strong>:</strong></span> People
{
    int Roll;
    int Class;
}
</pre>
</div>
<p style="text-align:justify;">ဒါကို inheritance လုပ္တယ္လို႔ ေခၚပါတယ္။ inheritance လုပ္လုိက္ျခင္းအားျဖင့္ People class ထဲက member data ကို Student class ထဲမွာ ျပန္ျပီ ေၾကျငာေပးေနစရာ မလုိေတာ့ပါဘူး။ ဒါေပမယ့္ ဒီေနရာမွာ အေရးၾကီးတဲ႔ အခ်က္တစ္ခ်က္ကို သိထားဖို႔ လိုပါေသးတယ္။ ဒီလိုဗ်ာ ကြၽန္ေတာ္တို႔ မိဘရဲ႕ ပိုင္ဆိုင္မႈအားလံုး ကြၽန္ေတာ္တို႔ရမလား၊ မရပါဘူး သူတို႔ ကိုယ္ပိုင္အတြက္ သိမ္းထားတာေတြလည္း ရွိနိုင္ပါတယ္။ C# language မွာလဲ အဲ့ဒီလိုမ်ိဳး ခြဲျခားဖို႔အတြက္ ကြၽန္ေတာ္တို႔ Access Modifier ဆိုတာကို သိဖို႔လိုအပ္လာပါတယ္။ C# language မွာ access modifier ၅ မ်ိဳးရွိပါတယ္။ အဲ့ဒါေတြ ကေတာ့</p>
<p>-       public                            ( အမ်ားသံုး )</p>
<p>-       protected                       ( မိမိႏွင့္child ေတြသံုး )</p>
<p>-       private                          ( မိမိကိုယ္တိုင္သံုး )</p>
<p>-       internal                         ( library တူအတြင္းသံုး )</p>
<p>-       protected internal           ( child ျဖစ္လွ်င္၄င္း၊ library တူလွ်င္၄င္း သံုး )</p>
<p style="text-align:justify;">စသည္တို႔ ျဖစ္ပါတယ္။ အေပၚက example People class ေလးမွာ ကြၽန္ေတာ္တို႔ access modifier မထည့္ေပးလိုက္ပါဘူး။ ဒါဆိုရင္ default အေနနဲ႔ private ပါ။ ဒါေၾကာင့္ People class ထဲက member data သံုးခုက people class အတြင္းမွာပဲ သံုးခြင့္ရွိပါတယ္။ Student မွာ သံုးလို႔ မရပါဘူး။ အခုကြၽန္ေတာ္တို႔က Student class ထဲကေနပါ သံုးခြင့္ရခ်င္တာျဖစ္လို႔ protected member အျဖစ္ေၾကျငာေပးရမွာပါ။</p>
<div style="background-color:lightgray;padding:5px;">
<pre>class People
{
    protected string Name;
    protected int Age;
    protected string Address;
}
</pre>
</div>
<p><strong><span style="color:#ff00ff;">Polymorphism </span>အသြင္ေျပာင္းျခင္းဆိုတာကေရာ???</strong></p>
<p style="text-align:justify;">ကြၽန္ေတာ္တို႔ ရပ္ကြက္ေတြမွာ လုပ္ေလ့ရွိတယ္ဗ်ာ တခါတေလ ရပ္ကြက္ရံုး ကေနျပီးေတာ့ တစ္အိမ္ကို လူတစ္ေယာက္ႏႈန္း အစည္းအေ၀းတက္ရမယ္တို႔ ဘာတို႔ ၾကံဳဖူးမွာေပါ့။ ဟုတ္ကဲ႔ ရပ္ကြက္ရံုးက ေခၚတာက လူတစ္ေယာက္လို႔ ေခၚတာပါ တနည္းအားျဖင့္ people class ကို ေခၚတာပါ။ အဲ့ဒါကို အိမ္မွာ ရွိေနတဲ႔ ေက်ာင္းသားတစ္ေယာက္က သြားတက္လို႔ မရဘူးလား၊ ရပါတယ္။ Teacher တစ္ေယာက္သြားတက္မယ္ဆိုလို႔လဲ ရပါတယ္။ Teacher ကလည္း people တစ္ေယာက္ပဲ ျဖစ္လို႔ပါ။ ဒါေပမယ့္ Student ပဲ သြားသည္ျဖစ္ေစ၊ Teacher ပဲသြားသည္ျဖစ္ေစ၊ ဒါမွမဟုတ္ People ကိုယ္တိုင္ပဲ သြားသည္ျဖစ္ေစ၊ အားလံုးကို People လို႔ပဲ ျမင္ပါတယ္။ အားလံုး အခြင့္အေရးတန္းတူပါပဲ။ Student မို႔ အခြင့္အေရးပိုရမလား မရပါဘူး။ အိုေက အဲ့ဒီလိုမ်ိဳး People ကိုေခၚတာကို Stuent သြားလိုက္တာကို အသြင္ေျပာင္းလဲျခင္း ( polymorphism ) လို႔ ေခၚပါတယ္။</p>
<div style="background-color:lightgray;padding:5px;">
<pre>static void Main()
{
    People p;
    p = new Student();
}
</pre>
</div>
<p style="text-align:justify;">Polymorphism မွာ သတိထားရမည့္ အခ်က္ကေတာ့ child ကို parent အသြင္ေျပာင္းနိုင္ေပမယ့္ parent ကိုေတာ့ child အျဖစ္ေျပာင္းလို႔ မရပါဘူး။ ဆိုလိုတာကေတာ ေက်ာင္းသားအားလံုး စာေမးပြဲလာေျဖပါဆိုျပီး ေခၚတာကို အိမ္မွာ ရွိတဲ႔ လူၾကီးေတြသြားေျဖလို႔ ရမလား မရပါဘူး၊ ဒီသေဘာပါ။ Student ကိုေတာင္းရင္ေတာ့ People ေပးလို႔ မရပါဘူး၊ Student ပဲ ေပးမွ ရမွာပါ။</p>
<p style="text-align:justify;"><span style="color:#ff00ff;"><strong>Data Hiding</strong></span></p>
<p>Data hiding ဆိုတာကေတာ့ ကြၽန္ေတာ္တို႔ အိမ္မွာ မိသားစုပိုင္ဆိုင္မႈေတြကို တျခားလူေတြသိေအာင္ ထုတ္ေၾကျငာေလ့ရွိလား? မရွိပါဘူး တိတ္တိတ္ေလးပဲ သိမ္းထားေလ့ရွိပါတယ္။ ဒီသေဘာပါပဲ class ေတြထဲမွာရွိတဲ႔ member data ေတြကိုလည္း အျပင္ကေန ေခၚလို႔မရေအာင္ private လုပ္ထားျခင္းကို data hiding လို႔ ေခၚပါတယ္။ ဥပမာဗ်ာ အခု student class ထဲမွာ roll နဲ႔ class ပါတယ္မလား၊ အဲ့ဒီ member data ေတြကို အျပင္ကေန ေခၚသံုးလို႔ မရပါဘူ။ ဘာလို႔လဲဆိုေတာ့ private member data ေတြ ျဖစ္လို႔ပါ။ ဒီလုိမ်ိဳး class member data ေတြကို private အျဖစ္ပဲ ေၾကျငာတာကို Data Hiding လို႔ေခၚပါတယ္။</p>
<p style="text-align:justify;"><span style="color:#ff00ff;"><strong>Encapsulation</strong></span></p>
<p>Encapsulation ဆိုတာကေတာ့ ကြၽန္ေတာ္တို႔ hide လုပ္ထားတဲ႔ data ထဲက လိုအပ္တဲ႔ dataေတြကို function ေတြကေနေသာ္လည္းေကာင္း၊ property ေတြကေနတဆင့္ေသာ္လည္းေကာင္း၊ အသံုးျပဳနိုင္ဖို႔အတြက္ စီမံေပးျခင္းပဲ ျဖစ္ပါတယ္။ ကြၽန္ေတာ္တို႔ C# မွာေတာ့ member data ေတြကို ကိုယ္စားျပဳဖို႔အတြက္ property ေတြကိုသံုးေလ့ရွိပါတယ္။ ဒီလိုမ်ိဳးပါ..</p>
<div style="background-color:lightgray;padding:5px;">
<pre>class Student : People
{
    	int Roll;
    	int Class;
	public int RollNo
	{
		get
		{
			return Roll;
		}
		set
		{
			Roll = value;
		}
	}
	public int ClassID
	{
		get
		{
			return Class;
		}
		set
		{
			Class = value;
		}
	}
}
</pre>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Java Knowledge Bank - 1]]></title>
<link>http://meghsoft.wordpress.com/2009/09/13/java-knowledge-bank-1/</link>
<pubDate>Sun, 13 Sep 2009 17:46:43 +0000</pubDate>
<dc:creator>meghsoft</dc:creator>
<guid>http://meghsoft.wordpress.com/2009/09/13/java-knowledge-bank-1/</guid>
<description><![CDATA[Q : Give a few reasons for using Java? A : Java is a fun language. Let’s look at some of the reasons]]></description>
<content:encoded><![CDATA[Q : Give a few reasons for using Java? A : Java is a fun language. Let’s look at some of the reasons]]></content:encoded>
</item>
<item>
<title><![CDATA[OOP in PHP]]></title>
<link>http://wshell.wordpress.com/2009/09/09/oop-in-php/</link>
<pubDate>Thu, 10 Sep 2009 04:02:18 +0000</pubDate>
<dc:creator>Wes Shell</dc:creator>
<guid>http://wshell.wordpress.com/2009/09/09/oop-in-php/</guid>
<description><![CDATA[Target Audience: Beginners to Object Oriented Programing who use PHP.  Anyone looking for a detailed]]></description>
<content:encoded><![CDATA[Target Audience: Beginners to Object Oriented Programing who use PHP.  Anyone looking for a detailed]]></content:encoded>
</item>
<item>
<title><![CDATA[Another day, another application for Tufcoat shrinkwrap]]></title>
<link>http://tufcoat.wordpress.com/2009/09/02/another-day-another-application-for-tufcoat-shrinkwrap/</link>
<pubDate>Wed, 02 Sep 2009 09:00:15 +0000</pubDate>
<dc:creator>tufcoat</dc:creator>
<guid>http://tufcoat.wordpress.com/2009/09/02/another-day-another-application-for-tufcoat-shrinkwrap/</guid>
<description><![CDATA[Hello there!Just to let you know about one of Tufcoat&#8217;s latest projects.Tufcoat shrink-to-fit ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="font-size:small;"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;">Hello there!</span><br style="font-family:Verdana,Arial,Helvetica,sans-serif;" /><br style="font-family:Verdana,Arial,Helvetica,sans-serif;" /><span style="font-family:Verdana,Arial,Helvetica,sans-serif;">Just to let you know about one of Tufcoat&#8217;s latest projects.</span><br style="font-family:Verdana,Arial,Helvetica,sans-serif;" /><span style="font-family:Verdana,Arial,Helvetica,sans-serif;">Tufcoat shrink-to-fit scaffolding covers are being used to protect the Holburne Museum of Art in Bath</span><span style="font-style:italic;font-family:Verdana,Arial,Helvetica,sans-serif;"> </span><span style="font-family:Verdana,Arial,Helvetica,sans-serif;">during its refurbishment and extension. The building work should be going on for another two years and will restore the building to its former glory.</span><br style="font-family:Verdana,Arial,Helvetica,sans-serif;" /><br style="font-family:Verdana,Arial,Helvetica,sans-serif;" /><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold;">If you have a project needing encapsulation, please give us a call on 01752 227 333 and we&#8217;ll find a solution for you.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold;"><a href="http://www.scaffoldwrap.com">www.scaffoldwrap.com</a><br />
</span></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Week 7, Day 6]]></title>
<link>http://livedby.com/2009/08/26/week-7-day-6/</link>
<pubDate>Wed, 26 Aug 2009 07:01:16 +0000</pubDate>
<dc:creator>livedby</dc:creator>
<guid>http://livedby.com/2009/08/26/week-7-day-6/</guid>
<description><![CDATA[Today was my first good day of being lived by Fernando.  I&#8217;m not sure what it is.  The company]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Today was my first <em>good </em>day of being lived by Fernando.  I&#8217;m not sure what it is.  The company?  The light at the end of the tunnel?  Or the inevitable resignation to the week which comes, each week, by Monday?  Anyway, friends, it was good.  Or good enough.</p>
<p>I woke up early, as usual, but had to <strong>1. stay in bed until 10:40 </strong>(up late with Jess [P] I didn&#8217;t make it to bed until 2:40 last night).  I find when I&#8217;m confined to bed until a particular hour, I experience a much greater sense of impotence than I did when &#8220;paralysed&#8221; &#38; confined to a wheelchair, as in Week 6.  I tossed &#38; turned, &#38; read some of the Nicholson Baker book I picked up recently.</p>
<p>Then arose.  Did some light housework while Jess was in the shower &#38; then made some tea for her (hot <strong>2. water </strong>for me) &#38; chatted before she left for lunch.</p>
<div id="attachment_641" class="wp-caption alignnone" style="width: 520px"><img class="size-full wp-image-641" title="IMG_0976" src="http://livedby.wordpress.com/files/2009/08/img_0976.jpg" alt="Jess, artfully backlit." width="510" height="382" /><p class="wp-caption-text">Jess, artfully backlit.</p></div>
<p>As she prepared to leave, I <strong>3. prepared my breakfast of oatmeal</strong>.  By now you know the drill.  I <strong>4. added some blueberries</strong> as it was cooking &#38; then <strong>5. sweetened the whole mess with honey</strong>.  Said my goodbyes to Jess &#38; got on the phone with a future participant (not to give too much away, but it involves a vineyard!).</p>
<p>Meanwhile, Bella finished my mostly uneaten oatmeal.</p>
<div id="attachment_640" class="wp-caption alignnone" style="width: 520px"><img class="size-full wp-image-640" title="IMG_0979" src="http://livedby.wordpress.com/files/2009/08/img_0979.jpg" alt="Mairzy doats &#38; dozy doats " width="510" height="382" /><p class="wp-caption-text">Mairzy doats &#38; dozy doats </p></div>
<p>Then I waited&#8230; &#38; waited&#8230; &#38; waited for Braden to arrive so we could <strong>6. watch <em>La jetée/Sans soleil.<br />
</em></strong></p>
<p>Just as I gave up &#38; started the movie(s) he arrived.  We had a grand old time with the films.</p>
<p>They seemed a little dull at first &#38; throughout. I eventually liked the first one very much.  The second one made me awfully sleepy, &#38; there was a particularly horrible moment in which I had to watch a dying giraffe with spurts of blood coming out of the gunshot wounds on either side of its neck.  That woke me up a little.</p>
<p>By the time the second film ended (&#38; it seemed interminably long) I realized that the movie was not <em>boring</em>, exactly.  Rather, it so closely approximated a dream state that it was impossible not to feel very sleepy as it was going on.  I can&#8217;t say I exactly enjoyed watching it, but after it was over I felt I was in a heightened state of consciousness.  I&#8217;ve never seen a film quite like it before.  Nor a film quite like the other one (composed almost entirely of still snapshots &#38; a voiceover).  Each worked within an entirely unfamiliar genre &#38; I was certainly improved by watching them.  It&#8217;s hard to explain, though I&#8217;m sure I could do it if I wasn&#8217;t so tired right now.  If you&#8217;re curious, I recommend that you watch them for yourselves.</p>
<div id="attachment_643" class="wp-caption alignnone" style="width: 520px"><img class="size-full wp-image-643" title="IMG_0986" src="http://livedby.wordpress.com/files/2009/08/img_0986.jpg" alt="Bella &#38; Braden fell into deep post-Sans Soleil slumber.  " width="510" height="680" /><p class="wp-caption-text">Bella &#38; Braden fell into deep post-Sans soleil slumber.  </p></div>
<p>I <strong>7. Read the booklet that came with the DVD</strong>.  I liked it much better than the other one.  There was a short interview with Chris Marker (the director) &#38; I appreciated his refreshing snarkiness.</p>
<p>Woke up Braden, &#38; began my long <strong>8. walk </strong>to the 7-11.  Then we sat in a park, where I was to <strong>9. Write whatever came to mind. </strong>Prompted by <em>Sans soleil</em>, I decided to write a list of the first 10 things I saw which &#8220;quickened the heart.&#8221; I would have liked to take corresponding photographs, as it seemed only right, but I&#8217;d left my phone at home, sadly.  Here&#8217;s the list.</p>
<ol>
<li>glint of bearded man&#8217;s septum piercing</li>
<li>pigeon coasting on an updraft</li>
<li>brown water moving over green tile inset in stone moat of fountain</li>
<li>tree with a knot in it, small manageable size</li>
<li>congregation of pigeons bathing on ledge of fountain</li>
<li>skull patch on arm of sweatshirt belonging to 1. as he leaves park</li>
<li>my shoelaces are still too long (I always appreciate this extravagance on part of designer)</li>
<li>shadows of pigeons on blue, sky-colored wall</li>
<li>long ears of Wiemaraner disappearing behind wall of red flowers, smoke coming out of owner&#8217;s nostrils</li>
<li>airplane noise? passing train? buses.  like movement of wind over mouth of cave/breath over neck of a bottle</li>
</ol>
<p>So there, I&#8217;ve <strong>10. posted what I wrote</strong>.</p>
<p>Then I went home, where I prepared my <strong>11. no-carb </strong>lunch.  It&#8217;s an exciting new take on cucumber sandwiches.  I cut open a cucumber &#38; scraped the seeds out, then put a can of tuna in the middle.  With some seasoning &#38; mayonnaise for good measure, of course.</p>
<div id="attachment_642" class="wp-caption alignnone" style="width: 520px"><img class="size-full wp-image-642" title="IMG_0987" src="http://livedby.wordpress.com/files/2009/08/img_0987.jpg" alt="Curiouser. &#38; curiouser.  " width="510" height="680" /><p class="wp-caption-text">Curiouser. &#38; curiouser.  </p></div>
<p>I ate this bizarre concoction.  I <strong>12. took my time, enjoyed it</strong>.</p>
<p>Then, after some more Nicholson Baker, I read a random page from <strong>13. Luis Cernuda&#8217;s <em>Written in Water</em>. </strong>The poem was &#8220;Time.&#8221;  The final paragraph of the poem reads:</p>
<blockquote><p>There, in the absolute silence of summer, underscored by the murmuring water, my eyes open to the clear half-darkness that heightens the mysterious life of things, I saw how time can hold still, suspended in air, like the cloud that conceals a god, pure and weightless, never passing.</p></blockquote>
<p>Quite appropriate.  It encapsulated the strange sensory experience I&#8217;d been having since the movies ended very nicely. Right down to the murmuring water.</p>
<p>I went about my chores.</p>
<p>Then I finished my (somewhat pornographic) Nicholson Baker book on the couch.  As soon as I was done, I had a call from TD.  He was outside!  He&#8217;d finally arrived!  I took out the garbage &#38; then joyfully went to greet him.</p>
<p>After I got dressed in normal clothing, we went for a <strong>14. walk</strong>.  Where did we walk?  To <strong>15. dinner</strong>.  It was delicious, if carb-less.  He consumed the entire contents of the breadbasket.  Good.  It was otherwise too tempting to me.  We got some oysters &#38; he had some chowder &#38; I had some steamed clams.  I would&#8217;ve taken a picture but I&#8217;d forgotten my phone again.</p>
<p>Upon returning home, TD took the dog for her nightly constitutional &#38; I sat down to <strong>16. write for an hour</strong>.  Here you see the result of that writing.</p>
<p>Tomorrow we have a very busy day.  Not only do I have to accomplish all of my directives for Day 7, I also have to run some errands, rent a car, &#38; ferry over to Galiano Island, where a family friend has graciously agreed to lend me a house for the first few days of Week 8.  Quite excited.  Next week we will witness a new strain of vicarious living, perhaps more true to the intentions of the project.  It&#8217;s being choreographed by a certifiable stranger (only the second true stranger we&#8217;ve seen).</p>
<p>All I have left to do is <strong>17. abstain from use of electronic devices in the hour before bed </strong>&#38; <strong>18. go to bed at 2:20am</strong>.  I&#8217;m at this point so well-versed in Week 7 that I have the whole schedule down by memory.  Staying up late will be hard to do&#8211; I have almost three empty hours looming before me, along with a house guest who will certainly be asleep well before 2:20am.</p>
<p>I suppose I will occupy myself by responding to comments, handing out a gold star, &#38; maybe picking up another book to read before turning in.</p>
<p>Oh, the fun of it.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tufcoat makes a show!]]></title>
<link>http://tufcoat.wordpress.com/2009/08/24/tufcoat-makes-a-show/</link>
<pubDate>Mon, 24 Aug 2009 04:00:45 +0000</pubDate>
<dc:creator>tufcoat</dc:creator>
<guid>http://tufcoat.wordpress.com/2009/08/24/tufcoat-makes-a-show/</guid>
<description><![CDATA[For the first time this year Tufcoat are exhibiting at the Interbuild show, 18 &#8211; 21 October 20]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>For the first time this year Tufcoat are exhibiting at the <a href="http://www.interbuild.com/page.cfm/Action=Exhib/ExhibID=1784/loadSearch=30458_2626">Interbuild show, 18 &#8211; 21 October 2009</a>.</p>
<p>This is <span style="text-decoration:underline;">the</span> trade show for the Construction industry and we&#8217;ll be there to showcase Scaffwrap, the construction grade flame retardant heat shrinkable cladding.<br />You&#8217;ll find us in Hall 5, stand C31 at the NEC in Birmingham.</p>
<p>We have tickets for you to come and visit us, so feel free to give us a shout on 01752 227 333 or send us a line info at tufcoat dot co dot uk.</p>
<p><img src="http://blog.boatcoat.co.uk/Interbuild_logo_small_blog.png"></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tower Bridge Scaffold Shrink Wrap Encapsulation]]></title>
<link>http://tufcoat.wordpress.com/2009/08/19/tower-bridge-scaffold-shrink-wrap-encapsulation/</link>
<pubDate>Wed, 19 Aug 2009 05:17:34 +0000</pubDate>
<dc:creator>tufcoat</dc:creator>
<guid>http://tufcoat.wordpress.com/2009/08/19/tower-bridge-scaffold-shrink-wrap-encapsulation/</guid>
<description><![CDATA[As part of a £4million programme to revitalise Tower Bridge, 1,500 tonnes of expendable abrasive is ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="color:#000000;"><span style="font-family:Georgia,Times New Roman,Times,serif;">As part of a £4million programme to revitalise Tower Bridge, 1,500 tonnes of expendable abrasive is being used to blast Tower Bridge back to its metal framework  before 22,000 litres of paint is used to restore the traditional blue and white colour which dates back to 1894. Tufcoat Scaffwrap has been chosen</span><span style="color:#000000;"><span style="font-size:small;"> to </span></span><span style="font-family:Georgia,Times New Roman,Times,serif;">encapsulate this internationally recognised landmarks to catch old paintwork as it falls, protecting Thames river life.</span></span></p>
<p><img src="http://blog.boatcoat.co.uk/photo14%20copy%20for%20blog.jpg" alt="" /></p>
<p><span style="font-family:Georgia,Times New Roman,Times,serif;">Scaffwrap is a durable cladding which is heat shrunk to create a continuously bonded skin over the roof and sides of scaffold structures without the holes or gaps typical of traditional cladding systems such as &#8216;Monarflex&#8217; and &#8216;CI sheets&#8217;. Scaffwrap is recommended for projects where high level of environmental containment or weather protection is required.</span></p>
<p style="margin-bottom:0;font-family:Georgia,Times New Roman,Times,serif;">By creating a &#8216;drum tight&#8217; and tear resistant covering, Scaffwrap is able to stand up to the most severe weather conditions, eliminating the problem of detached sheets and emergency repairs. Should it be necessary to gain access through the plastic shrink wrap scaffold sheeting, i.e. for craneage, Scaffwrap can be cut open and re-sealed to maintain 100% containment.</p>
<p style="margin-bottom:0;font-family:Georgia,Times New Roman,Times,serif;">Tufcoat supply Scaffwrap and training direct to the construction industry. Alternatively, installation services may be provided by approved installers. Tufcoat are an ISO9001 accredited company and NASC members. Training courses are approved by the CITB.</p>
<p style="margin-bottom:0;"><span style="font-family:Georgia,Times New Roman,Times,serif;">For further details see <a href="http://www.scaffoldwrap.com" target="_blank">www.scaffoldwrap.com</a>.</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Accessing Java Private Attributes and Methods]]></title>
<link>http://andrejserafim.wordpress.com/2009/07/31/accessing-java-private-attributes-and-methods/</link>
<pubDate>Fri, 31 Jul 2009 19:30:39 +0000</pubDate>
<dc:creator>Andrej Kazakov</dc:creator>
<guid>http://andrejserafim.wordpress.com/2009/07/31/accessing-java-private-attributes-and-methods/</guid>
<description><![CDATA[Java reflection is a very powerful framework. Sometimes its power seems outside the usual Java metho]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Java reflection is a very powerful framework. </p>
<p>Sometimes its power seems outside the usual Java methodology.</p>
<p>For example, I needed to manually change a private variable in one of the classes I was testing.</p>
<p>Java reflection has an API that allows this. Of course, the API does not know if one is in a test or production source code. It works anywhere!</p>
<p>Below is an example of three classes. </p>
<ul>
<li>IntWrapper is the class under question.</li>
<li>IntWrapperTest is the JUnit class</li>
<li>RegularMainClass is a class with a main method, almost a copy of IntWrapperTest.</li>
</ul>
<p>It is worth noting that the testers and the testee are in separate packages. So one can change the private variable or call a private method of any class in any package!</p>
<pre class="brush: java;">
package com.otherexample;

public class IntWrapper {

	private int i;

	public IntWrapper(int i) {
		this.i = i;
	}

	private void incrementI() {
		i++;
	}

	public int getI() {
		return i;
	}

}
</pre>
<pre class="brush: java;">
package com.example;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.junit.Test;

import com.otherexample.IntWrapper;

import static org.junit.Assert.*;

public class IntWrapperTest {

	@Test
	public void testPrivateMembers() {
		try {
			IntWrapper iw = new IntWrapper( 15 );
			assertEquals(15, iw.getI() );
			Field f = iw.getClass().getDeclaredField(&quot;i&quot;);

			f.setAccessible(true);
			f.setInt(iw, 18);
			assertEquals(18, iw.getI() );

			Method m = iw.getClass().getDeclaredMethod(&quot;incrementI&quot;);
			m.setAccessible(true);
			m.invoke(iw);
			assertEquals(19, iw.getI() );
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (NoSuchFieldException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
	}

}
</pre>
<pre class="brush: java;">
package com.example;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import com.otherexample.IntWrapper;

public class RegularMainClass {

	public static void main(String[] args) {
		try {
			IntWrapper iw = new IntWrapper( 15 );
			if( 15 != iw.getI() ) System.err.println(&quot;Assertion failed&quot;);
			else System.out.println(&quot;all is well 1&quot;);
			Field f = iw.getClass().getDeclaredField(&quot;i&quot;);

			f.setAccessible(true);
			f.setInt(iw, 18);
			if( 18 != iw.getI() ) System.err.println(&quot;Assertion failed&quot;);
			else System.out.println(&quot;all is well 2&quot;);

			Method m = iw.getClass().getDeclaredMethod(&quot;incrementI&quot;);
			m.setAccessible(true);
			m.invoke(iw);
			if( 19 != iw.getI() ) System.err.println(&quot;Assertion failed&quot;);
			else System.out.println(&quot;all is well 3&quot;);

		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (NoSuchFieldException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
	}

}
</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Probiotic Microencapsulation Benefits]]></title>
<link>http://microencapsulate.wordpress.com/2009/07/28/probiotic-microencapsulation-benefits/</link>
<pubDate>Tue, 28 Jul 2009 13:37:49 +0000</pubDate>
<dc:creator>microencapsulate</dc:creator>
<guid>http://microencapsulate.wordpress.com/2009/07/28/probiotic-microencapsulation-benefits/</guid>
<description><![CDATA[Probiotic dietary supplements need to contain LIVE microorganisms to be able to deliver the presentl]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Probiotic dietary supplements need to contain LIVE microorganisms to be able to deliver the presently expected benefits which include not only the ability to improve the patient&#8217;s intestinal microbial balance which can inhibit harmful bacterial growth, and stop toxin producing bacteria, but also the potential abilities to prevent pathogen caused diarrhea, atopic diseases, and to stop chronic intestinal inflammatory diseases.  <a href="http://vobisllc.com/MicroEncapsulation.htm">Micrencapsulation</a> within a nonanimal derived shell offers a means to ensure that the bifidobacteria or lactic acid bacteria remain active and alive during the necessary shelf life and delivery of a normal consumer product.  Micrencapsulation needs to be completed with minimal heat history and low stress as far as sheer.  This is possible with <a href="http://vobisllc.com/IntroToMicroencapsulation.htm">vibrational dripping technologies</a> which allow seamless microcapsules to be formed holding the necessary amounts of live bacteria, yeasts and bacilli for effectiveness.  The microencapsulate shell can also be made to provide the correct release profile so that the live microorganisms reach their intended destination in our bodies to be beneficial.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Basics of Object Oriented Programming System]]></title>
<link>http://tspawan.wordpress.com/2009/07/03/basics-of-object-oriented-programming-system/</link>
<pubDate>Fri, 03 Jul 2009 01:28:54 +0000</pubDate>
<dc:creator>T.S. Pawan</dc:creator>
<guid>http://tspawan.wordpress.com/2009/07/03/basics-of-object-oriented-programming-system/</guid>
<description><![CDATA[This is my first post. This article won&#8217;t be the definitive guide of Object oriented Programmi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p align="left">This is my first post. This article won&#8217;t be the definitive  guide of Object oriented Programming System an entire book could easily be  devoted to that. Instead, think of this as a good place to start. Good for  those how had already know about OOPS. If you get sometime wrong / new please  comment me.</p>
<p align="center"><strong>Basics of Object Oriented Programming System</strong></p>
<p><strong>What is Opps?</strong><br />
  Oops is a problem solving technique.</p>
<p><strong>What is Class?</strong><br />
  Class is a description of an Object. </p>
<p><strong>What is an Object?</strong><br />
  An Object is an entity that has attribute, behavior and  identity of a class.</p>
<p><strong>What is the relation  between Class and Object?</strong><br />
  Class is the defection, while Object is an instance of the  Class created.</p>
<p><strong>What is  Encapsulation?</strong><br />
  Encapsulation is the localization or hiding of information  and processes within an object. Because objects encapsulate both data and  processes, the user of an object can view the object as a black box that  provides services. Instance variables and methods can be added, deleted, or  changed, but as long as the services provided by the object remain the same,  code that uses the object can continue to use it without being rewritten.</p>
<p>public class TestMain<br />
  {<br />
  &#160;&#160;&#160; private string _Name  = string.Empty;</p>
<p>&#160;&#160;&#160; public string Name<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;return _Name;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;  _Name = value;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160; }<br />
  }</p>
<p>Like the above way we can protect the private data from the  outside world. In the above example we can&#8217;t access the private data Name from an object instance. We manipulate the  data only using the property.</p>
<p><strong>What is Polymorphism?</strong><br />
  Through inheritance, a class can be used as more than one  type; it can be used as its own type, any base types, or any interface type if  it implements interfaces. This is called polymorphism. In C#, every type is  polymorphic. Types can be used as their own type or as an object instance,  because any type automatically treats Object as a base type.</p>
<pre>public class BaseClass</pre>
<pre>{</pre>
<pre>&#160;&#160;&#160; public virtual void DoWork() { }</pre>
<pre>&#160;&#160;&#160; public virtual int WorkProperty</pre>
<pre>&#160;&#160;&#160; {</pre>
<pre>&#160;&#160;&#160;&#160;&#160;&#160;&#160; get { return 0; }</pre>
<pre>&#160;&#160;&#160; }</pre>
<pre>}</pre>
<pre>public class DerivedClass : BaseClass</pre>
<pre>{</pre>
<pre>&#160;&#160;&#160; public override void DoWork() { }</pre>
<pre>&#160;&#160;&#160; public override int WorkProperty</pre>
<pre>&#160;&#160;&#160; {</pre>
<pre>&#160;&#160;&#160;&#160;&#160;&#160;&#160; get { return 0; }</pre>
<pre>&#160;&#160;&#160; }</pre>
<pre>}</pre>
<p>&#160;</p>
<pre>DerivedClass B = new DerivedClass();</pre>
<pre>B.DoWork();&#160; // Calls the new method.</pre>
<pre>&#160;</pre>
<pre>BaseClass A = (BaseClass)B;</pre>
<pre>A.DoWork();&#160; // Also calls the new method.</pre>
<p>&#160;</p>
<p><strong>What is Access  Modifiers?</strong><br />
  Access modifiers are keywords used to specify the declared  accessibility of a member or a type. They are &#8230;&#8230;.</p>
<ol start="1" type="1">
<li>Public</li>
<li>Private</li>
<li>Protected</li>
<li>Internal</li>
<li>Protected       Internal.</li>
</ol>
<p>&#160;</p>
<p><strong>Public</strong>: All  members have access in the classes.<br />
    <strong>Private</strong>: Only  members of class have access.<br />
    <strong>Protected</strong>: All  members in current class and in derived class can access the variables.<br />
    <strong>Internal</strong>: Only  members in current project have access to the element.<br />
    <strong>Protected Internal</strong>:  All members of the current project and all members in derived class can access  the variables.</p>
<p><strong>What is Properties?</strong><br />
  Properties are members that provide a flexible mechanism to  read, write, or compute the values of private fields.</p>
<p>Public Int32 ID<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get { return _ID;&#160; }<br />
  &#160; &#160;&#160;&#160;&#160;&#160;&#160;set { _ID = value; }<br />
  &#160;&#160;&#160; }</p>
<p>Read Only Property</p>
<p>Public Int32 ID<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get { return _ID;&#160; }<br />
  &#160;&#160;&#160; }<br />
  Write Only Property</p>
<p>Public Int32 ID<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set { _ID = value; }<br />
  &#160;&#160;&#160; }</p>
<p>&#160;</p>
<p><strong>What is  Implementation Inheritance?</strong><br />
  When a class is derived from another class such that it  inherits all the members of the base type it is Implementation Inheritance.</p>
<p><strong>What is Interface  Inheritance? </strong><br />
  When a type (class or a structure) inherits only the  signatures of the functions from another type it is Interface Inheritance.</p>
<p><strong>What is Abstract  class?</strong><br />
  Abstract classes are classes that contain one or more  abstract methods. An abstract method is a method that is declared, but doesn&#8217;t  contain implementation. Abstract classes can&#8217;t be instantiated, and require  subclasses to provide implementations for the abstract methods. This class must  be inherited. This class is mostly used as a base class.</p>
<p><strong>Abstract  Class</strong></p>
<p>public abstract class  TestAbstract<br />
  {<br />
  &#160;&#160;&#160; public abstract int AddNumber(int  One, int two);</p>
<p>&#160;&#160;&#160; public virtual int AddTwoNumber(int  One, int two)<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; int Result = One + two;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; return Result;<br />
  &#160;&#160;&#160; }<br />
  }</p>
<p><strong>Child Class</strong></p>
<p>public class TestMain:TestAbstract<br />
  {<br />
  &#160;&#160;&#160; public override int AddNumber(int  One, int two)<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; int Result = One + two;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; return Result;<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; public override int AddTwoNumber(int  One, int two)<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; int Result = One +two;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; return Result;<br />
  &#160;&#160;&#160; }</p>
<p>}</p>
<p><strong>What is Virtual  function?</strong><br />
  A virtual function is a function whose behavior can be  overridden within an inheriting class by a function with the same signature. A  base class must provide the virtual modifier for any virtual method, and  derived classes must provide the override modifier for any override method  inherited from a base class.<br />
  Virtual methods allow subclasses to provide their own  implementation of that method using the override keyword.</p>
<p><strong>What is Abstract&#160; function?</strong><br />
  Abstract functions in a class contain no method body, and  are implicitly virtual function. Abstract function-modifier exists only to  provide a uniform syntactical style.</p>
<p>Neither abstract nor virtual can be declared private, since  it would defeat the purpose, and subclasses must override them using the same  method signature. If a class has any abstract methods, then it must tag itself  as abstract, and no instances of it can be created.</p>
<p><strong>What is Interface?</strong><br />
  An interface is a reference type containing only abstract  members. These can be events, indexers, methods or properties, but only the  member declarations. A class implementing an interface must provide the  implementation of the interface members. An interface cannot contain constants,  constructors, data fields, destructors, static members or other interfaces.  Interface member declarations are implicitly public.</p>
<p>Interface<br />
  public interface TestInterface<br />
  {<br />
  &#160;&#160;&#160; Int32 ID<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set;<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; String Name<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set;<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; string Address<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set;<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; bool Add();</p>
<p>&#160;&#160;&#160; bool Update();</p>
<p>&#160;&#160;&#160; bool Delete();<br />
  }</p>
<p>Class<br />
  public class Employee  : TestInterface<br />
  {<br />
  &#160;&#160;&#160; public int ID<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; public string Name<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; public string Address<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; get<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; set<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160; &#160;public bool Add()<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; public bool Update()<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; public bool Delete()<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  &#160;&#160;&#160; }<br />
  }</p>
<p>&#160;</p>
<p>When a class or structure is said to inherit an interface,  it means that the class or structure provides an implementation for all of the  members defined by the interface. The interface itself provides no  functionality that a class or structure can inherit in the way that base class  functionality can be inherited. However, if a base class implements an  interface, the derived class inherits that implementation. A class or structure  can inherit more than one interface. When a class or structure inherits an  interface, it inherits only the method names and signatures, because the  interface itself contains no implementations.</p>
<p><strong>Interface versus  Abstract Class.</strong><br />
  &#160; <br />
  An Interface cannot implement methods. <br />
  An abstract class can implement methods. <br />
  An Interface can only inherit from another Interface. <br />
  An abstract class can inherit from a class and one or more  interfaces. <br />
  An Interface cannot contain fields. <br />
  An abstract class can contain fields. <br />
  An Interface can contain property definitions. <br />
  An abstract class can implement a property. <br />
  An Interface cannot contain constructors or destructors. <br />
  An abstract class can contain constructors or destructors. <br />
  An Interface can be inherited from by structures. <br />
  An abstract class cannot be inherited from by structures. <br />
  An Interface can support multiple inheritances. <br />
  An abstract class cannot support multiple inheritances.</p>
<p>&#160;</p>
<p><strong>What is Sealed Class?</strong><br />
  A sealed class cannot be used as a base class. For this  reason, it cannot also be an abstract class. Sealed classes prevent derivation. </p>
<p><strong>What is Sealed  Methods?</strong><br />
  A class member, method, field, property, or event, on a  derived class that is overriding a virtual member of the base class can declare  that member as sealed. This negates the virtual aspect of the member for any  further derived class. This is accomplished by putting the sealed keyword before  the override keyword in the class member declaration.</p>
<p>public sealed override  int AddTwoNumber(int  One, int two)<br />
  &#160;&#160;&#160; {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; int Result = One +two;<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160; return Result;<br />
  &#160;&#160;&#160; }</p>
<p>What is Function Overloading?<br />
  Function overloading is the practice of declaring the same  function with different signatures. The same function name will be used with  different number of parameters and parameters of different type. But  overloading of functions with different return types is not allowed.</p>
<p>public Int32 AddTwoNumber(Int16  One, Int16 Two)</p>
<p>public Int32 AddTwoNumber(Int32  One, Int32 Two)</p>
<p>&#160;</p>
<p>What is function overriding?<br />
  If a base class is declared as virtual and derived class is  declared as virtual. This redefinition of virtual in derived class is known as  Function overriding. Both functions have same parameters.</p>
<p>public virtual int AddNumber(int  One, int two)</p>
<p>public override int AddNumber(int  One, int two)</p>
<p><strong>What is Class  Constructor?</strong><br />
  A constructor is a special function which can be included in  a class. It is unusual as a function because it is never specifically called,  the same way that other functions are. A constructor function is called  automatically when the class variable is declared. It is used to set up the  class variable with sensible values in the member variables. There is more then  one Constructor in a class within a class with different parameters.</p>
<p>public Class ABC<br />
  {<br />
  public ABC()<br />
  {<br />
  //Implement&#8230;&#8230;&#8230;</p>
<p>}<br />
  public ABC(string xyz)<br />
  {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  }<br />
  }</p>
<p><strong>What is Class  Destructor?</strong><br />
  Destructor is a special function that is called whenever a  class variable is destroyed. A destructor is declared as having the same name  as the function, except that the name is preceded by the ~ symbol before it.  Apart from that symbol, the declaration of a destructor would be  indistinguishable from a constructor. There is always one destructor in a  class.</p>
<p>public Class ABC<br />
  {<br />
  public ABC()<br />
  {<br />
  //Implement&#8230;&#8230;&#8230;</p>
<p>}<br />
  public ~ABC()<br />
  {<br />
  &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Implement&#8230;&#8230;&#8230;<br />
  }<br />
  }</p>
<p><strong>What is Delegate?</strong><br />
  A delegate is a function pointer. A delegate allows encapsulating  a reference to a method inside a delegate object. The delegate object can then  be passed to code which can call the referenced method, without having to know  at compile time which method will be invoked. Delegates are multicasting which  means that they can point to more than one function at a time.</p>
<p><strong>What is Event?</strong><br />
  An event is a mechanism via which a class can notify its  clients when something happens. For example when you click a button, a  button-click-event notification is sent to the hosting the button. Events are  declared using delegates.</p>
<p><strong>What is Generic  Class?</strong><br />
Generic classes encapsulate operations that are not specific  to a particular data type. The most common use for generic classes is with  collections like linked lists, hash tables, stacks, queues, trees, and so on.  Operations such as adding and removing items from the collection are performed  in basically the same way regardless of the type of data being stored.</p>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[PHP OOP Quick Review:]]></title>
<link>http://webunderconstruction.wordpress.com/2009/06/09/php-oop-quick-review/</link>
<pubDate>Tue, 09 Jun 2009 20:51:18 +0000</pubDate>
<dc:creator>Mobu</dc:creator>
<guid>http://webunderconstruction.wordpress.com/2009/06/09/php-oop-quick-review/</guid>
<description><![CDATA[All properties must be declared and be preceded by one of the visibility keywords: public, protected]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><ul>
<li>All properties must be declared and be preceded by one of the visibility keywords: <em>public</em>, <em>protected</em>, or <em>private</em>. (As with every rule, there is one exception when the visibility keyword is optional.)</li>
<li>Using a visibility keyword is optional when defining a method, but is <strong>recommended</strong>. If no keyword is used, the method is automatically treated as <strong><span style="color:#800080;">public</span></strong>.</li>
<li>&#8220;Method&#8221; is simply <strong>OOP</strong> (Object-Oriented Programming) terminology for a function inside a class. Use the <strong><span style="color:#808000;"><em>function</em></span></strong> keyword when defining a method.</li>
<li>Use the <strong><span style="color:#808000;"><em>new</em></span></strong> keyword to create an instance of a class (an <strong>object</strong>).</li>
<li>The <strong><em><span style="color:#333399;">$this</span></em></strong> variable inside a class refers to the current object.</li>
<li>Use the <strong><span style="color:#808000;">-&#62;</span></strong> operator to access an object&#8217;s methods or properties (there is <strong>no space</strong> between &#8211; &#38; &#62;).</li>
<li>When accessing a property with the -&#62; operator, omit the <strong><em><span style="color:#ff0000;">$</span></em></strong> sign.</li>
<li>Attempting to access a <em>protected</em> or <em>private</em> property or method from an external script triggers a <strong><em><span style="color:#ff0000;">fatal</span></em></strong> error.</li>
<li>Use <em>getter</em> and <em>setter</em> methods to access protected and private properties and methods from an external script.</li>
</ul>
<p>Source: &#8220;<em>PHP Object-Oriented Solutions</em>&#8221; by David Powers. A definite reference material to keep side by side with your famous &#8220;Gang of Four&#8221; book (What? You don&#8217;t own it?)</p>
<p><span style="font-family:&#34;">There&#8217;s only one thing that bothers me a bit. It says PHP triggers a fatal error when trying to access any private or protected properties from an <strong>external script</strong>. Does only trying to access them from an external script trigger error? Isn&#8217;t it that anything outside the class (in the same script) trying to access protected or private property triggers a fatal error?</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Encapsulation Provides Visuality and Functionality]]></title>
<link>http://microencapsulate.wordpress.com/2009/06/06/encapsulation-provides-visuality-and-functionality/</link>
<pubDate>Sat, 06 Jun 2009 01:59:58 +0000</pubDate>
<dc:creator>microencapsulate</dc:creator>
<guid>http://microencapsulate.wordpress.com/2009/06/06/encapsulation-provides-visuality-and-functionality/</guid>
<description><![CDATA[Encapsulation is often needed to protect the activity of a compound whether it is for a pharmaceutic]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Encapsulation is often needed to protect the activity of a compound whether it is for a pharmaceutical that needs to be delivered to the lower gut without being destroyed or it is an additive for a detergent which has to be protected from the detergent until it is in the washing machine.  Many problems are solved each year by encapsulation, but visual appeal is also an advantage of this problem solving approach.  Those same <a href="http://vobisllc.com/IntroToMicroencapsulation.htm">solid spheres or liquid filled spherical capsules</a> add consumer appeal to body washes, toothpastes, and shampoos while they deliver product performance improvements.  There are nearly as many different shell materials which are used to make encapsulates as there are active compounds needing to be encapsulated, and often the best one is found only through working with <a href="http://vobisllc.com/Microencapsulates.htm">companies</a> who have successes in multiple industries.  What works in industrial chemicals may have applicability to pharmaceuticals;  what has been found effective for pharmaceuticals may be just the right solution for agricultural chemicals.  It is a fascinating area in which to work because it is effective  for so many applications.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Namespace and encapsulation]]></title>
<link>http://omerprogramming.wordpress.com/2009/06/04/namespace-encapsulation/</link>
<pubDate>Thu, 04 Jun 2009 07:10:04 +0000</pubDate>
<dc:creator>Omer Katz</dc:creator>
<guid>http://omerprogramming.wordpress.com/2009/06/04/namespace-encapsulation/</guid>
<description><![CDATA[Have you ever found the need to hide data inside a namespace in C++. That isn&#8217;t possible since]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Have you ever found the need to hide data inside a namespace in C++.</p>
<p>That isn&#8217;t possible since scope attributes are not valid inside namespaces.</p>
<p>Here is an example of how this should have been done in my opinion:<br />
<code><span style="font-size:small;"><span style="color:blue;">namespace</span> foo<br />
{<br />
<strong>private:</strong><br />
<span style="color:blue;margin-left:10px;">int</span> baz;<br />
<strong>public:</strong><br />
<span style="color:blue;margin-left:10px;">class</span> bar;<br />
}</span></code></p>
<p>This of course provides an error since such thing doesn&#8217;t exist in C++.</p>
<p>There are many ways to solve this problem.</p>
<p><strong>1)</strong> Using the class keyword instead of the namespace keyword:<br />
<code><span style="font-size:small;"><span style="color:blue;">class</span> foo<br />
{<br />
<strong>private:</strong><br />
<span style="color:blue;margin-left:10px;">int</span> baz;<br />
<strong>public:</strong><br />
<span style="color:blue;margin-left:10px;">class</span> bar;<br />
}</span></code></p>
<blockquote><p>While it works it is unclear that class foo is actually a namespace.</p>
<p>Also a class can&#8217;t be declared on multiple files so it doesn&#8217;t really solve our problem.</p>
<p>Using an unnamed namespace is better in this case.</p></blockquote>
<p><strong>2)</strong> Creating a private namespace:<br />
<code><span style="font-size:small;"><span style="color:blue;">namespace</span> foo<br />
{<br />
<span style="margin-left:10px;"><span style="color:blue;">namespace</span> PrivateData</span><br />
<span style="margin-left:10px;">{</span><br />
<span style="margin-left:20px;"><span style="color:blue;">int</span> baz;</span><br />
<span style="margin-left:10px;">}</span><br />
<span style="margin-left:10px;"><span style="color:blue;">class</span> bar;</span><br />
}</span></code></p>
<blockquote><p>While this is clearer it still provides access to the private namespace. The boost library uses this approach. They call their private namesapces <em>details</em></p></blockquote>
<p><strong>3)</strong> There is a third way. One can use a static class where all of the fields are <strong>protected</strong> and inherit that class.</p>
<p><code><br />
<span style="font-size:small;"><br />
<span style="color:blue;">namespace</span> foo<br />
{<br />
<span style="margin-left:10px;"><span style="color:blue;">class</span> PrivateData</span><br />
<span style="margin-left:10px;">{</span><br />
<span style="margin-left:10px;"><strong>public:</strong></span><br />
<span style="margin-left:20px;">PrivateData &#38;operator=() = <span style="color:blue;">delete</span>;</span><br />
<span style="margin-left:20px;">PrivateData() = <span style="color:blue;">delete</span>;</span><br />
<span style="margin-left:10px;"><strong>protected:</strong></span><br />
<span style="margin-left:20px;"><span style="color:blue;">static int</span> baz;</span><br />
<span style="margin-left:10px;">};</span><br />
<span style="margin-left:10px;"><span style="color:blue;">class</span> foo : <strong>public</strong> PrivateData</span><br />
<span style="margin-left:10px;">{</span><br />
<span style="margin-left:10px;"><strong>public:</strong></span><br />
<span style="margin-left:20px;">foo(<span style="color:blue;">int</span> value)</span><br />
<span style="margin-left:20px;">{</span><br />
<span style="margin-left:30px;">baz += value * 5 + 2;</span><br />
<span style="margin-left:20px;">}</span><br />
<span style="margin-left:10px;">};</span><br />
<span style="margin-left:10px;"><span style="color:blue;">int</span> PrivateData::baz = 0;</span><br />
}<br />
</span><br />
</code></p>
<blockquote><p>This is a bit clearer and it also hides the data inside a class. Any class that doesn&#8217;t inherit from PrivateData won&#8217;t have access to the private data of the namespace. Logically no one outside of the class will inherit from it. This is possible but the trick is that it creates <strong>external coupling</strong>. Inheritence is the thightest coupling possible after freindship. This is costly.<br />
Inside the namespace we create <strong>internal coupling</strong> but internal coupling is no coupling at all since we already know the namespace. External coupling creates depeandecies.<br />
But this code seems to me too verbose and redundant.<br />
I don&#8217;t really think that I&#8217;d use this method.</p></blockquote>
<p>I&#8217;d like to hear more suggestions <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[always using methods, and not using public members]]></title>
<link>http://bobobobo.wordpress.com/2009/05/31/always-using-methods-and-not-using-public-members/</link>
<pubDate>Sun, 31 May 2009 21:54:15 +0000</pubDate>
<dc:creator>bobobobo</dc:creator>
<guid>http://bobobobo.wordpress.com/2009/05/31/always-using-methods-and-not-using-public-members/</guid>
<description><![CDATA[I&#8217;m one of those programmers who HATES it when he sees things like: public class Grunt { priva]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;m one of those programmers who HATES it when he sees things like:</p>
<blockquote>
<pre>

public class Grunt
{
  private int m_hp ;

  public int HP
  {
    get
    {
      return m_hp ;
    }
    set
    {
      m_hp = value ;
    }
  }
}
</pre>
</blockquote>
<p>Encapsulation or no encapsulation, this just SEEMS dumb.</p>
<p>Sometimes you&#8217;ll see this written as:</p>
<blockquote>
<pre>

public class Grunt
{
  private int m_hp ;

  public int HP
  {
    get { return m_hp ; }
    set { m_hp = value ; }
  }
}
</pre>
</blockquote>
<p>Which further proves my point:  You can compress code like that when its not meant to be looked at.</p>
<p>The point is, THERE IS NO POINT in having pass-thru getters/setters like this.</p>
<p>In languages other than C#, you&#8217;ll see people using functions of course instead of C# properties.</p>
<blockquote>
<pre>

class Grunt
{
private:
  int m_hp ;

public:
  void ChangeHp( int toVal )
  {
    m_hp = toVal ;
  }

  int Hp()
  {
    return m_hp ;
  }
} ;
</pre>
</blockquote>
<p>VERSUS:</p>
<blockquote>
<pre>

class Grunt
{
public:
  int hp ;
} ;
</pre>
</blockquote>
<p>Isn&#8217;t there a very slight performance hit for writing code that always uses methods?  Yes.  ++points for public members.</p>
<p>HOWEVER.  Recently I have thought of ONE major benefit to this &#8220;methods only/no public members&#8221; style that I never really credited to the style before.</p>
<p>Readability.</p>
<p>Think of client code using the Grunt class:</p>
<blockquote>
<pre>

Grunt g ;

if( g.Hp() &#62; 10 )
{
  g.ChangeHp( 12 ) ;
}
</pre>
</blockquote>
<p>VERSUS:</p>
<blockquote>
<pre>

Grunt g ;

if( g.hp &#62; 10 )
{
  g.hp = 12 ;
}
</pre>
</blockquote>
<p>What reads better?  g.ChangeHp( 12 ) or g.hp = 12?</p>
<p>Really, g.hp = 12 ; LOOKS more cryptic because even though you know what its doing if you think about it for a fraction of a second, (changing hp to 12), for the method way g.ChangeHp(12) you CANNOT READ IT without knowing exactly what it does like, even faster than the one with the =.</p>
<p>SO.  Maybe all private members and all accessor methods aren&#8217;t such a bad idea after all.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Encapsulation is not just data hiding]]></title>
<link>http://learn2program.wordpress.com/2009/05/18/encapsulation-is-not-just-data-hiding/</link>
<pubDate>Mon, 18 May 2009 09:18:26 +0000</pubDate>
<dc:creator>MD. SHAHJALAL</dc:creator>
<guid>http://learn2program.wordpress.com/2009/05/18/encapsulation-is-not-just-data-hiding/</guid>
<description><![CDATA[Most of people consider encapsulation feature of object oriented programming as data hiding. But Enc]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Most of people consider encapsulation feature of object oriented programming as data hiding. But Encapsulation stands for few more features. Suppose we have a Vehicle registration software. Which has following properties,</p>
<ul>
<li>Vehicle has a engine/chesis number</li>
<li>Vehicle may have door</li>
<li>Vehicle have wheels</li>
<li>Vehicle can be different type: Bus, Car, Bike</li>
</ul>
<p>Suppose we have a Abstract Vehicle<br />
<code><br />
Class public abstract class Vahicle {<br />
public abstract String getChesisNumber();<br />
public int getNumberOfDoor() {}<br />
public abstract int getNumberOfWheel();<br />
}<br />
</code><br />
Now Bus, Car, Bike extend Vehicle<br />
<code><br />
public abstract class Bus extends Vehicle {<br />
public int getNumberOfDoor() {}<br />
}public abstract class Car extends Vehicle<br />
{<br />
public int getNumberOfDoor() {<br />
return 4;<br />
}<br />
public abstract class Bike extends Vehicle { }</p>
<p></code></p>
<p>Now a Car can be a Private car or Taxi so<br />
<code><br />
public PrivateCar extends Car {<br />
public String getChesisNumber() {<br />
return "CN354656565";<br />
}<br />
public int getNumberOfWheel(){<br />
return 4;<br />
}<br />
}<br />
</code></p>
<p>Suppose we have a special type of Air Conditioned Taxi named ClassicTaxi<br />
<code><br />
public ClassicTaxi {<br />
public String getEngineNumber(){<br />
return "CN35465655498";<br />
}<br />
public int getTotalNumberOfWheel(){<br />
return 4;<br />
}<br />
}<br />
</code><br />
Only the Taxi know about this<br />
<code><br />
public Taxi extends Car {<br />
private ClassicTaxi ct;<br />
public String getChesisNumber(){<br />
return ct.getEngineNumber();<br />
}<br />
public int getNumberOfWheel(){<br />
return ct.getTotalNumberOfWheel();<br />
}<br />
</code><br />
Now you can notice the different levels of Encapsulation in this example.</p>
<ol>
<li>Encapsulation of Data: Bus, Bike and PrivateCar and Taxi are encapsulation from everything</li>
<li>Encapsulation of Type: Client of Vehicle do not know about Bus, Car and Bike</li>
<li>Encapsulation of Method: <code>getNumberOfDoor() of Bus and Car are hidden from all</code></li>
<li>Encapsulation of Object: Only Taxi is aware abot Classic Taxi</li>
</ol>
<p>So as we can see. Its not only bounded to the hiding data but also hiding type, method as well as object too. There is land mark theory described in the book of Gang of Four(GOF) &#8220;Consider what should be variable in your design. This approach is the opposite of focusing on the causes of redesign. Instead of considering what might force a change to a design, consider what you want to be able to change without redesign. The focus here is on encapsulating the concept that varies, a theme of many design patterns.&#8221;(Ref 1) The Book of Shalloway define this simply as &#8220;Find what varies and encapsulate it.&#8221; (Ref 2). <strong></strong></p>
<p><strong>References:</strong></p>
<p>1. Design Pattern: Elements of Reusable Object-Oriented Software<br />
2. Design Pattern Explained: A new perspective on Object Oriented Design</p>
<p>By: <a href="http://learn2program.wordpress.com/md-shahjalal-references/" target="_self">Md. Shahjalal</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nowhere To Run: 25 - Camp plus:3.]]></title>
<link>http://ibuilthiscage.com/2009/05/17/nowhere-to-run-25-camp-plus3/</link>
<pubDate>Sun, 17 May 2009 04:43:14 +0000</pubDate>
<dc:creator>moffdub</dc:creator>
<guid>http://ibuilthiscage.com/2009/05/17/nowhere-to-run-25-camp-plus3/</guid>
<description><![CDATA[Announcer: From the EIP Sylvanian Operations Center, somewhere in south-eastern PA, it’s Nowhere To ]]></description>
<content:encoded><![CDATA[Announcer: From the EIP Sylvanian Operations Center, somewhere in south-eastern PA, it’s Nowhere To ]]></content:encoded>
</item>
<item>
<title><![CDATA[Controlled Release Microencapsulation Needs to be Scalable]]></title>
<link>http://microencapsulate.wordpress.com/2009/05/15/controlled-release-microencapsulation-needs-to-be-scalable/</link>
<pubDate>Fri, 15 May 2009 19:30:20 +0000</pubDate>
<dc:creator>microencapsulate</dc:creator>
<guid>http://microencapsulate.wordpress.com/2009/05/15/controlled-release-microencapsulation-needs-to-be-scalable/</guid>
<description><![CDATA[The development of a controlled release product to fulfill your specific requirements should always ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The development of a controlled release product to fulfill your<br />
specific  requirements should always be done with the consideration<br />
that the  formulation development efforts must be scalable.  Scalability must<br />
consider not  only whether it is possible but also whether it is<br />
economical.  Formulation  development carried out with the above<br />
ultimate requirements will have a  much greater likelihood of  producing a successful product.  For microsphere or micrencapsulate  formulations, <a href="http://vobisllc.com/MicroEncapsulation.htm">vibrational laminar flow drip forming</a> is one example of a straight forward scalable technology working  from grams to thousands of litres per hour and has been employed in  pharmaceutical, nutraceutical, cosmetic, consumer care, catalyst, PV,  agricultural, and other industries such as the food and ceramic and gas and  oil drilling for sustained release.  It is not the only method to form controlled release spheres.  For very high active loading levels, the process of <a href="http://vobisllc.com/BasketExtrusion.htm">low pressure extrusion</a> followed by <a href="http://vobisllc.com/Spheronizers.htm">spheronization</a> has lead to very  successful formulations and products.  These are each very empirical  technologies where theoretical sophistication as well as hands on  experience will all contribute positively to your new controlled release  product development and production.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
