Sunday, January 26, 2020

Pollution Associated With Oil And Gas Production Environmental Sciences Essay

Pollution Associated With Oil And Gas Production Environmental Sciences Essay 1.1.1 Oil and gas production generally generates massive wealth for countries and contributes to the socio-economic development in the areas of foreign exchange earnings, provision of job opportunities, improved infrastructure, water supply, sewerage and waste treatment, health care and education, among others. Despite these economic and social benefits associated with the oil and gas industry, the exploitation of oil and gas reserves has not always been without some ecological side effects. Oil spills, damaged land, accidents and fires, and incidents of air and water pollution have all been recorded at various times and places. 1.1.2 The discussions that follow will seek to highlight the pollution associated with the various stages of the oil and gas production; and will discuss the wide range of approaches used by governments across the globe to regulate the attendant impact and pollution to the ecosystem. The discussion will also suggest an appropriate strategy to be adopted by the industry in order to achieve its overall goal of finding the right mix of regulatory, co-regulatory, incentives and voluntary mechanisms to meet the challenge of world energy demands, whilst minimising adverse impact on the environment by conforming to current good practice. The environmental impacts of the activities of the oil and gas industry exploration and exploitation, refining and products marketing have been of concern to government regulatory agencies, oil companies operators as well as the host communities. The potential for extensive and irreversible environmental and social damage from oil development projects is particularly acute in developing countries with inadequate regulatory frameworks or weak environmental and social legislation. The impacts of oil and gas operations generally occur in the form of human, socio-economic and cultural impacts, atmospheric impacts, aquatic and terrestrial impacts. Human, socio-economic and cultural impacts may include changes in land-use patterns, such as agriculture, fishing and hunting as direct consequence (for example, land-take and exclusion) or as a secondary consequence in the form of new access routes, leading to unplanned settlement and exploitation of natural resources. The impact could also result in changes in aesthetics because of unsightly or noisy facilities. It has been reported that in some places where oil is discovered, the economy develops rapidly, but it is an economy of misery.    Poorly built oil camps are carved out of the landscape and bring with them many social problems, such as forced displacement, alcoholism, sexually transmitted infections, and HIV/AIDs. Oil companies and governments regularly wash their hands of the communities mostly damaged by the oil development. In most instances, these communities are left on their own to try to determine how much and what kinds of harm the oil and gas industry has caused, and to search for ways to restore their communitys health. Protests by communities, often confrontational in nature, are the most eloquent testimonies of the resistance to the general pollution of the environment by the activities of oil companies. For example, in 1995, proposals by Shell to dispose of the Brent Spar oil storage facility provoked an extensive campaign of protests by activists from Greenpeace aimed at stopping Shell from dumping the Brent Spar in the North Sea. Spontaneous protests in support of Greenpeace and against Shell broke out across Europe, and eventually resulted in Shells eventual abandonment of plans to dump it deep in the Atlantic., Atmospheric pollution results from flaring, venting, and purging gases, fugitive gases from loading operations and tankage and losses from process equipment, combustion processes such as diesel engines and gas turbines. The main emission gases include carbon dioxide, carbon monoxide, methane, volatile organic carbons and nitrogen oxides. Gas flaring exposes workers, communities, and wildlife to pollution with various health effects. The flares pollute the clouds, causing a black rain that poisons water sources. The Niger Delta in Nigeria is a typical example of a region adversely affected by the impact of oil and gas exploration and production. Pervasive gas flaring is one of the key factors that have worsened the environment of the Niger Delta, attracting concern from the international community. It has been reported that Nigeria has the Worlds highest level of gas flaring and flares about 16 per cent of the worlds associated gas. Aquatic pollution result from production water, spills and leakages, cooling water, process, wash and drainage water, drilling fluids, and chemicals used for well treatment. Oil is often spilled during transport through pipelines, trucks, and ships. When oil spills, it pollutes groundwater and waterways, harms plants and animals, and causes damage that may last for years to resources for hunting, fishing, and farming. Even once the oil appears to have dissipated, it can still lurk beneath the surface of beaches and the sea bed, severely affecting marine organisms that burrow, such as crabs, for literally decades. These burrowing creatures are also food for other animals, so the cycle of poisoning continues for many years. In addition to the impact on marine life, oil spills have a direct impact on humans too long after the initial media frenzy has died down. For example, some Alaskan communities were affected by the Exxon Valdez disaster of 1989 as important commercial fishing and hunting grounds were contaminated for an extended period. Tourism was also affected. Oil and gas operations also have potential impacts on vegetation and soils resulting from deforestation, disturbance due to construction activities, indirect impact due to social change and contamination resulting from spillage and leakage or solid waste disposal. During the course of exploration oil, forests are cut down and homes are destroyed. Roads are built, and streams and rivers are blocked up. Seismic testing damages homes, wildlife, and the land.    Oil drilling can cause fires, explosions, and other accidents that endanger workers and the community. For example, in 1988, the offshore platform Piper Alpha, which was located in the British sector of the North Sea oil field and operated by Occidental Petroleum, was engulfed in a catastrophic fire and resulted in the loss of 167 lives, costing billions of dollars in property damage, and the shutting down of approximately 10% of total UK gas production. The dumping of toxic water is also a major cause of pollution. Laws about drilling in wealthy countries require the toxic water to be put back into the ground rather than dumped on the surface.   Oil companies often do nothing more than dig a hole and dump in crude oil, drilling wastes, toxic water, and other wastes leading to the contamination of groundwater and land. Pollution at the refining stage results from refineries releasing toxic waste into water, soil, and air and this leads to various health risks. This pollution also adds to global warming. The decommissioning phase of oil and gas production, if unchecked, can also present environmental problems by the disposal of oil platforms into deep waters. The end result could be hundreds of rusting platforms, obsolete subsea infrastructure and disused pipelines running all the way to land. It is important to point out here that the impact on the environment of oil and gas exploration and production operations depends on the stage of the process, the size and complexity of the project, the nature and sensitivity of the surrounding environment, the effectiveness of the planning, pollution prevention, and mitigation control techniques. While some of these impacts can be said to be the result of unpredictable acts of God, the occurrence of some of these potentially devastating impacts often result from accumulation of errors and questionable decisions, most of which are rooted in the organization, its structure, procedures, and culture. These organizational factors include flaws in the design guidelines and design practices, misguided priorities in the management of the trade-off between productivity and safety, mistakes in the management of the personnel on board, and errors of judgment in the process by which financial pressures are applied on the production sector resulting in deficiencies in inspection and maintenance operations. The Piper Alpha accident of 1988 is one of the cases that can hardly be attributed to an act of God: gross human error greatly contributed to this accident. Notwithstanding the fact that the coincidence of the final events that triggered the catastrophe was not in itself controllable, the failure resulted essentially from an accumulation of management errors. In November 1990, Lord Cullens report into the disaster severely criticised safety procedures on the rig owned by Occidental Oil. The immediate cause of the disaster was a failure in the permit to work system which caused a breakdown in communications between the day shift and the night shift. This led to the use of machinery which was undergoing maintenance and caused the escape of gas from an insecurely fastened temporary flange. Thereafter, there appeared to be a series of failures and errors of judgment which contributed to the overall scale of the disaster. In the case of the Exxon Valdez oil spill of 1998, the US National Transportation Safety Board ruled that drinking by the ships captain, a fatigued and overworked crew and inadequate traffic control by the Coast Guard all contributed to the enormous oil spill by the Exxon Valdez off the Alaskan coast in 1989. In another instance, the final Report by the Commission set up by US President Barack Obama to investigate the cause of the recent BP Deepwater Horizon oil rig explosion on 20 April 2010 in which 11 workers were killed and led to an estimated four million barrels of oil gushing into the Gulf of Mexico (the National Oil Spill Commission) concluded, among others, that the explosive loss of the Macondo well could have been prevented ; and that the immediate causes of the Macondo well blowout can be traced to a series of identifiable mistakes made by BP, Halliburton, and Transocean that reveal such systematic failures in risk management that they place in doubt the safety culture of the entire industry.

Saturday, January 18, 2020

Object Oriented Programming in Different Languages

OOP with Microsoft Visual Basic . NET and Microsoft Visual C# Step by Step by Robin A. Reynolds-Haertle Microsoft Press  © 2002 (393 pages) ISBN: 0735615683 This intuitive, self-paced learning title is designed to help you master the basics of object-oriented programming with Visual Basic. NET or Visual C#. Table of Contents OOP with Microsoft Visual Basic . NET and Microsoft Visual C# . NET Step by Step Introduction Chapter 1 – Writing Your First Object-Oriented Program Chapter 2 – Creating Class Instances with Constructors Chapter 3 – Creating Fields and PropertiesChapter 4 – Working with Methods Chapter 5 – Using Inheritance to Create Specialized Classes Chapter 6 – Designing Base Classes as Abstract Classes Chapter 7 – Responding to Changes with Events and Exceptions Chapter 8 – Putting It All Together with Components Chapter 9 – Providing Services Using Interfaces Chapter 10 – Using Classes Interchangeably T hrough Polymorphism Chapter 11 – Using Shared and Static Members Chapter 12 – Overloading Operators with Visual C# Chapter 13 – Saving Instance Data Chapter 14 – Reducing Complexity by DesignAppendix – Additional Resources Index Height Gage List of Sidebars OOP with Microsoft Visual Basic . NET and Microsoft Visual C# . NET Step by Step PUBLISHED BY Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright  © 2002 by Robin A. Reynolds-Haertle All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. Library of Congress Cataloging-in-Publication Data Reynolds-Haertle, Robin A. , 1959-OOP with Microsoft Visual Basic . NET and Microsoft Visual C# Step by Step / Robin A. Reynolds-Haertle. p. cm. Includes bibliographical references and index. ISBN 0-7356-1568-3 1. Object-oriented programming (Computer science). 2. Microsoft Visual BASIC. 3. C# (Computer program language) I. Title. QA76. 64 . R495 2001 005. 2’768—dc21 2001052122 Printed and bound in the United States of America. 1 2 3 4 5 6 7 8 9 QWT 7 6 5 4 3 2 Distributed in Canada by Penguin Books Canada Limited. A CIP catalogue record for this book is available from the British Library.Microsoft Press books are available through booksellers and distributors worldwide. For further information about international editions, contact your local Microsoft Corporation office or contact Microsoft Press International directly at fax (425) 936-7329. Visit our Web site at www. microsoft. com/mspress. Send comments to: [email  protected] com. IntelliSense, Microsoft, Microsoft Press, Visual Basic, Visual C#, Visual Studio, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.Other product and company names mentioned herein may be the trad emarks of their respective owners. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. Acquisitions Editor: Danielle Bird Project Editor: Kathleen AtkinsTechnical Editor: Jack Beaudry Body Part No. X08-42192 MICROSOFT LICENSE AGREEMENT Book Companion CD IMPORTANT—READ CAREFULLY:This Microsoft End-User License Agreement (â€Å"EULA†) is a legal agreement between you (either an individual or an entity) and Microsoft Corporation for the Microsoft product identified above, which includes computer software and may include associated media, printed materials, and â€Å"online† or electronic documentation (â€Å"SOFTWARE PRODUCT†).Any component included within the SOFTWARE PRODUCT that is accompanied by a separate End -User License Agreement shall be governed by such agreement and not the terms set forth below. By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, you are not authorized to install, copy, or otherwise use the SOFTWARE PRODUCT; you may, however, return the SOFTWARE PRODUCT, along with all printed materials and other items that orm a part of the Microsoft product that includes the SOFTWARE PRODUCT, to the place you obtained them for a full refund. Software PRODUCT LICENSE The SOFTWARE PRODUCT is protected by United States copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. 1. GRANT OF LICENSE. This EULA grants you the following rights: a. Software Product. You may install and use one copy of the SOFTWARE PRODUCT on a single computer.The primary user of the computer on which th e SOFTWARE PRODUCT is installed may make a second copy for his or her exclusive use on a portable computer. b. Storage/Network Use. You may also store or install a copy of the SOFTWARE PRODUCT on a storage device, such as a network server, used only to install or run the SOFTWARE PRODUCT on your other computers over an internal network; however, you must acquire and dedicate a license for each separate computer on which the SOFTWARE PRODUCT is installed or run from the storage device.A license for the SOFTWARE PRODUCT may not be shared or used concurrently on different computers. c. License Pak. If you have acquired this EULA in a Microsoft License Pak, you may make the number of additional copies of the computer software portion of the SOFTWARE PRODUCT authorized on the printed copy of this EULA, and you may use each copy in the manner specified above. You are also entitled to make a corresponding number of secondary copies for portable computer use as specified above. . Sample Cod e. Solely with respect to portions, if any, of the SOFTWARE PRODUCT that are identified within the SOFTWARE PRODUCT as sample code (the â€Å"SAMPLE CODE†): i. Use and Modification. Microsoft grants you the right to use and modify the source code version of the SAMPLE CODE, provided you comply with subsection (d)(iii) below. You may not distribute the SAMPLE CODE, or any modified version of the SAMPLE CODE, in source code form. ii. Redistributable Files.Provided you comply with subsection (d)(iii) below, Microsoft grants you a nonexclusive, royalty-free right to reproduce and distribute the object code version of the SAMPLE CODE and of any modified SAMPLE CODE, other than SAMPLE CODE, or any modified version thereof, designated as not redistributable in the Readme file that forms a part of the SOFTWARE PRODUCT (the â€Å"Non-Redistributable Sample Code†). All SAMPLE CODE other than the Non-Redistributable Sample Code is collectively referred to as the â€Å"REDISTRIBU TABLES. † iii. Redistribution Requirements.If you redistribute the REDISTRIBUTABLES, you agree to: (i) distribute the REDISTRIBUTABLES in object code form only in conjunction with and as a part of your software application product; (ii) not use Microsoft’s name, logo, or trademarks to market your software application product; (iii) include a valid copyright notice on your software application product; (iv) indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorney’s fees, that arise or result from the use or distribution of your software application product; and (v) not permit further distribution of the REDISTR IBUTABLES by your end user. Contact Microsoft for the applicable royalties due and other licensing terms for all other uses and/or distribution of the REDISTRIBUTABLES. 2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS. †¢ Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reve rse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation. †¢ Separation of Components. The SOFTWARE PRODUCT is licensed as a single product.Its component parts may not be separated for use on more than one computer. †¢ Rental. You may not rent, lease, or lend the SOFTWARE PRODUCT. †¢ Support Services. Microsoft may, but is not obligated to, provide you with support services related to the SOFTWARE PRODUCT (â€Å"Support Services†). Use of Support Services is governed by the Microsoft policies and programs described in the user manual, in â€Å"online† documentation, and/or in other Microsoft-provided materials. Any supplemental software code provided to you as part of the Support Services shall be considered part of the SOFTWARE PRODUCT and subject to the terms and conditions of this EULA.With respect to technical information you provide to Microsoft as part of the Support Services, Microsoft may use such information for its business purposes, including for product support and development. Microsoft will not utilize such technical information in a form that personally identifies you. †¢ Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. †¢ Termination.Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts. 3. COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photogr aphs, animations, video, audio, music, text, SAMPLE CODE, REDISTRIBUTABLES, and â€Å"applets† incorporated into the SOFTWARE PRODUCT) and any copies of the SOFTWARE PRODUCT are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, ou must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may install the SOFTWARE PRODUCT on a single computer provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT. 4. U. S. GOVERNMENT RESTRICTED RIGHTS. The SOFTWARE PRODUCT and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252. 27-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted Rights at 48 CFR 52. 227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399. 5. EXPORT RESTRICTIONS. You agree that you will not export or re-export the SOFTWARE PRODUCT, any part thereof, or any process or service that is the direct product of the SOFTWARE PRODUCT (the foregoing collectively referred to as the â€Å"Restricted Components†), to any country, person, entity, or end user subject to U. S. export restrictions. You specifically agree not to export or re-export any of the Restricted Components (i) to any country to which the U. S. as embargoed or restricted the export of goods or services, which currently include, but are not necessarily limited to, Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria, or to any national of any such country, wherever located, who intends to transmit or transport the Restricted Components back to such country; (ii) to any end user who you know or have reason to know will ut ilize the Restricted Components in the design, development, or production of nuclear, chemical, or biological weapons; or (iii) to any end user who has been prohibited from participating in U. S. export transactions by any federal agency of the U. S. government. You warrant and represent that neither the BXA nor any other U. S. ederal agency has suspended, revoked, or denied your export privileges. DISCLAIMER OF WARRANTY NO WARRANTIES OR CONDITIONS. MICROSOFT EXPRESSLY DISCLAIMS ANY WARRANTY OR CONDITION FOR THE SOFTWARE PRODUCT. THE SOFTWARE PRODUCT AND ANY RELATED DOCUMENTATION are PROVIDED â€Å"AS IS† WITHOUT WARRANTY OR CONDITION OF ANY KIND, EITHE R EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE PRODUCT REMAINS WITH YOU. LIMITATION OF LIABILITY.TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT OR THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, EVEN IF MICROSOFT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ANY CASE, MICROSOFT’S ENTIRE LIABILITY UNDER ANY PROVISION OF THIS EULA SHALL BE LIMITED TO THE GREATER OF THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE PRODUCT OR US$5. 00; PROVIDED, HOWEVER, IF YOU HAVE ENTERED INTO A MICROSOFT SUPPORT SERVICES AGREEMENT, MICROSOFT’S ENTIRE LIABILITY REGARDING SUPPORT SERVICES SHALL BE GOVERNED BY THE TERMS OF THAT AGREEMENT.BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY, THE ABOVE LIMITATION MAY NOT APPLY TO YOU. MISCELLAN EOUS This EULA is governed by the laws of the State of Washington USA, except and only to the extent that applicable law mandates governing law of a different jurisdiction. Should you have any questions concerning this EULA, or if you desire to contact Microsoft for any reason, please contact the Microsoft subsidiary serving your country, or write: Microsoft Sales Information Center/One Microsoft Way/Redmond, WA 98052- 6399. PN 097-0002296 For Bruce You’re still the one.About the Author Robin A. Reynolds-Haertle Robin’s interest in computing began when she taught herself to program in C to fulfill a programming language requirement for her master’s degree in biomathematics at the University of Washington. Fascinated by the subject, Robin attended as many computer science classes as her schedule would permit, and took a position as a programmer with the University of Washington after graduation. Robin spent several years in the biotechnology industry, writing dat a applications in various database management systems, C, and Microsoft Visual Basic.Not content to just read computer science and software engineering books, she then pursued and completed a master’s degree in software engineering at Seattle University. During these years, Robin presented training sessions on software engineering topics to her peers. After so many years in the classroom, Robin wanted to try teaching, and jumped at the opportunity to teach object- oriented programming with Visual Basic for the University of Washington Outreach program. Here she discovered she loved writing instructional materials and sample projects for her students. This led Robin to her current position as a programmer/writer at Microsoft, writing conceptual documentation for Visual Basic and Microsoft Visual C#.When not at the computer, Robin is trying to make peace with her abandoned husband and sons. After she completes this book, they look forward to Mom’s attention to Cub Scouts , Boy Scouts, hiking, and watching BattleBots. After catching up with the family, Robin hopes to sew a few quilts. Acknowledgments First I’d like to thank the team at Microsoft Press that turned my writing into a book. Without Jack Beaudry, the technical editor, I never would have gotten any sleep. His meticulous reviews saved me time and saved readers from much frustration. Kathleen Atkins, the project editor, kept everything running smoothly and improved my text considerably.Credit is also due to Danielle Bird, acquisitons editor; Rebecca McKay (Becka), manuscript editor; Cheryl Penner and Rebecca Wendling (Becky), copy editors; Gina Cassill, compositor; and Michael Kloepfer, electronic artist. I also want to thank my colleagues at Microsoft who listened sympathetically to my complaints about deadlines and beta software. Editors Roger Haight and Meredith Waring made me a better writer. Mike Pope reminded me to put the reader ahead of being clever. Megan Shult and Ann Morris , my managers, were supportive even when writing consumed all my after-hours energy. Much of what I learned about . NET came from the material written by my team members Jina Chan, Seth Grossman, Steve Hoag, Steve Stein, and Matt Stoecker. And thank you to Diana Rain, my office mate.I’d also like to thank Ruth McBride, my longtime manager, and my instructors at Seattle University. I appreciate their patience with my often experimental approaches to their assignments over the years. I also have to mention the friends that still call to check on me, even though I haven’t called them in months. Jennifer Wirt, Lisa Wiken, Molly Potteiger, and Julie Brinkley have been true friends. This book would never have been written without the support of my husband, Bruce. He completely ran my life for the seven months I was writing this book. I worked and wrote; he did everything else. My friends are still laughing about how he RSVPs for me.Lastly, I thank my sons for just being ther e and for being proud of me. Introduction Microsoft Visual Basic developers have long clamored for complete objectoriented language support. Microsoft Visual Basic . NET supports all the features of an object- oriented language. In addition, the entire Microsoft . NET Framework, which includes the development support for Microsoft Windows applications, Web applications, Web services, graphics, and data access, is designed according to object-oriented principles. Developers who have a firm grasp of object-oriented principles will be the strongest . NET developers.Also new to developers is C#, a C-based language that gives developers a language choice for developing with the . NET Framework. Some C, Java, and C++ development will move to C# to take advantage of . NET’s features. Visual Basic programmers looking to learn a C language might also move to C#. Visual Basic . NET and C# both support object-oriented development with the . NET Framework. No matter what language you cho ose for development, being able to read code in either language will double your access to Microsoft Visual Studio documentation, . NET books, magazine articles, and other developer resources. System RequirementsYou’ll need the following hardware and software to complete the exercises in this book:  ¦  ¦ Microsoft Visual Studio . NET Professional edition. The Visual Studio . NET software isn’t included with this book. You must purchase it separately and install it before you can complete the exercises in this book. A computer capable of running Microsoft Visual Studio . NET. The following hardware configuration is recommended by the Microsoft Visual Studio . NET Web site, at http://msdn. microsoft. com/vstudio/nextgen/ Computer/Processor PC with a Pentium II–class processor, 450 megahertz (MHz); Pentium III–class processor, 600 MHz recommendedOperating System Microsoft Windows 2000, Server or Professional Microsoft Windows XP Home or Professional Micr osoft Windows NT 4. 0 Server Memory Windows 2000 Professional, 96 megabytes (MB) of RAM; 128 MB recommended Windows 2000 Server, 192 MB of RAM; 256 MB recommended Windows XP Professional, 128 MB of RAM; 160 Recommended Hard Disk 500 MB on System Drive and 3. 0 gigabyte (GB) on installation drive Drive CD-ROM drive Display VGA or higher–resolution monitor Computer/Processor Input Device Microsoft Mouse or compatible pointing device Finding Your Best Starting Point This book is designed to teach you the fundamentals of object-oriented programming.You can use this book if you have a basic knowledge of Visual Basic 6, Visual Basic . NET, Visual C#, or another Windows programming language. The exercises in this book assume you can already perform the following tasks:  ¦ Create a new Windows Application project, build it, and run it.  ¦ Add Windows Forms controls to a Windows Form.  ¦ Create a method to respond to the Click event of a Button control.  ¦ Create a simple meth od (called a Sub or Function in Visual Basic . NET).  ¦ Declare and use variables. For an introduction to Visual Basic . NET, read Microsoft Visual Basic . NET Step by Step by Michael Halvorson (Microsoft Press, 2002).For an introduction to Visual C# , read Microsoft Visual C# . NET Step by Step by John Sharp and Jon Jagger (Microsoft Press, 2002). Use the following table to find your best starting point in this book. If you are New To object- oriented programming Migrating From Visual Basic 6 Switching From another object- oriented programming Follow these steps Install the practice files as described in the following section, â€Å"Installing and Using the Practice Files† Work through the chapters sequentially for a complete introduction to object-oriented programming. Chapters 1 through 7, 9, and 11 concentrate on the mechanics of object- riented programming, while the other chapters cover the concepts in more depth. Install the practice files as described in â€Å"Inst alling and Using the Practice Files† on the next page. Work through the chapters sequentially for a complete introduction to object- oriented programming with Visual Basic .NET. Chapters 1 through 7, 9, and 11 concentrate on the mechanics of object- oriented programming, while the other chapters cover the concepts in more depth. Install the practice files as described in â€Å"Installingand Using the Practice Files. † If you are New language. Referencing The book after working through the exercises Follow these steps Complete Chapter 1 to learn the basic yntax of properties and methods. Read the Quick Reference sections at the end of the chapters for information about specific class constructs. Use the index or the Table of Contents to find information about particular subjects. Read the Quick Reference at the end of each chapter to find a brief review of the syntax and techniques presented in the chapter. Installing and Using the Practice Files The companion CD inside the back cover of this book contains the practice files that you’ll use as you perform the exercises in the book. For example, when you’re learning to create class events, you’ll use a bitmap file named Train. bmp.By using the practice files, you won’t waste time creating objects that aren’t relevant to the exercise. Instead, you can concentrate on learning object-oriented programming with Visual Basic . NET and Visual C# . NET. The files and the step-by-step instructions in the lessons also let you learn by doing, which is an easy and effective way to acquire and remember new skills. Important Install the practice files Before you break the seal on the OOP with Microsoft Visual Basic . NET and Microsoft Visual C# Step by Step companion CD package, be sure that this book matches your version of the software.This book is designed for use with Microsoft Visual Studio . NET Professional Edition for the Windows operating systems. To find out what softw are you’re running, you can check the product package or you can start the software, and then click About Microsoft Development Environment in the Help menu at the top of the screen. Follow these steps to install the practice files on your computer’s hard disk so that you can use them with the exercises in this book. 1. Remove the companion CD from the package inside the back cover of this book and insert the CD in your CD-ROM drive. 2. Double-click the My Computer icon on the Desktop.Tip On some computers, the startup program might run automatically when you close the CD-ROM drive. In this case, skip steps 2 through 5 and follow the instructions on the screen. 3. Double-click the icon for your CD-ROM drive. 4. Double-click StartCD. exe 5. Click Install Sample Code. The setup program window appears with the recommended options preselected for you. For best results in using the practice files with this book, accept these preselected settings. 6. When the files have been installed, remove the CD from your CD- ROM drive and replace it in the package inside the back cover of the book.A folder called OOPVBCS has been created on your hard disk, and the practice files have been placed in that folder. Using the Practice Files Each lesson in this book explains when and how to use any practice files for that lesson. The practice files contain the complete source listings for all the applications created in this book, as well as any resources, such as bitmaps and databases, that you’ll need to complete the exercises. For those of you who like to know all the details, here’s a list of the Visual Basic and Visual C# projects on the practice disk: Project Chapter 1 ReadBooks Chapter 2 ReadMoreBooks Chapter 3 CodeAnalysis CodeAnalysis2 Chapter 4DeckOfCards Chapter 5 TheBank ARoundButton Chapter 6 ABetterBank ABetterLibrary Variations Description This simple program demonstrates the basics of creating, instantiating, and using a class. This program expands on the ReadBooks program and adds constructors. These two applications demonstrate different approaches to using class properties, and the interaction of class properties and the DataGrid control. This application explores class methods by using dynamic creation of Windows Forms controls and drag-and-drop operations. This simple application demonstrates the basics of class inheritance. This small project shows how easy it is to derive rom a Windows Forms control and redefine its drawing. This adaptation of Chapter 5’s TheBank application uses an abstract class as a base class. This improvement on Chapter 1’s ReadBooks application uses a strongly typed collection. This application contains code snippets demonstrating variations on inheritance. Chapter 7 TrainGame ThrowSystemException PersonList Project Chapter 8 GamesLibrary Memory Chapter 9 MoveIt Points Chapter 10 PatternMaker Chapter 11 BetterCard SortablePoint Singleton Chapter 12 VectorAlgebra Chapter 13 S erialize DataSetExercise Chapter 14 This application introduces delegates, events, and user-drawn controls in the context of a simple game.This small program throws a system exception and recovers by using exception handling. This application creates and throws a custom application exception. Description The GamesLibrary project creates a component library containing objects used to develop the simple Memory card game This application covers the basics of creating and implementing an interface. The Points project contains objects that implement the IComparable, IFormattable, and IEnumerable interfaces. Moving beyond the basics of inheritance, the PatternMaker program makes extensive use of inheritance and polymorphism. This improvement on the Card class from Chapter 4 uses static methods to liminate the project’s dependency on file locations. The SortablePoint application from Chapter 10 is made more flexible through static properties. Static fields are used to implement the Singleton design pattern. The mathematical concept of vectors is used to demonstrate the definition and use of operator overloading in Visual C#. The Serialize application demonstrates the use of binary and XML serialization of data. This very simple ADO. NET application reads data from an Access database. PatternMaker Uninstall the practice files This example uses the PatternMaker exercise from Chapter 10 to demonstrate the way to make design changes after the i nitial development of an application.If you are using the Windows XP Professional operating system, follow these steps to remove the practice files from your computer. If you are using a different version of Windows, refer to your Windows Help documentation for removing programs. 1. Click Start, and then click Control Panel. 2. In Control Panel, click Add Or Remove Programs. 3. In the Add Or Remove Programs window, click OOP Visual Basic And C# . NET Code in the Currently Installed Programs list. 4. Click Change/Remove. The Confirm File Deletion dialog appears. 5. Click Yes to delete the practice files. 6. Click Close to close the Add Or Remove Programs window. 7. Close Control Panel.Conventions and Features in this Book This book uses conventions designed to make the information more readable and easier to follow. The book also includes features that contribute to a deeper understanding of the material. Conventions  ¦ Each exercise is a series of tasks. Each task is presented as a series of numbered steps. If a task has only one step, the step is indicated by a round bullet.  ¦ Notes labeled â€Å"tip† provide more information for completing a step successfully.  ¦ Notes labeled â€Å"important† alert you to information you need to check before continuing. The book uses typographic styles to help organize the information presented. The following table describes the styles used. Style Code Italics Used for Code that you type in Method argument or parameter Event Procedure Field Ful ly Qualified Name Keyword Method Property value Example ‘ Visual Basic Public Class Book End Class // Visual C# public class Book { } aBook showPage_Click m_shelf SomeBook. Text Public, public, If, if GetPage listOfBooks Roman Other Features Boolean values Class name Control type Data type Event Form Namespace Parameter type Property True, true, False, false Book, Library, Train ListBox, TextBox String, string, Integer, int Click Form1 ReadBooks String, string, Integer, int NameShaded sidebars throughout the book provide more in-depth information about the exercise. The sidebars might contain debugging tips, design tips, or topics you might want to explore further. Each chapter ends with a Quick Reference section. The Quick Reference provides a brief review of the syntax and techniques presented in the chapter. Corrections, Comments, and Help Every effort has been made to ensure the accuracy of this book and the contents of the practice files on the companion CD. Microsoft Pre ss provides corrections and additional content for its books through the World Wide Web at http://www. microsoft. com/mspress/support/If you have problems, comments, or ideas regarding this book or the companion CD, please send them to Microsoft Press. Send e-mail to [email  protected] com Or send postal mail to Microsoft Press Attn: Step by Step Series Editor One Microsoft Way Redmond, WA 98052-6399 Please note that support for the Visual Studio . NET software product itself is not offered through the preceding address. For help using Visual Studio . NET, visit http://support. microsoft. com. Visit the Microsoft Press World Wide Web Site You are also invited to visit the Microsoft Press World Wide Web site at http://www. microsoft. com/mspress/You’ll find descriptions for the complete line of Microsoft Press books, information about ordering titles, notice of special features and events, additional content for Microsoft Press books, and much more. You can also find out the latest in Visual Studio . NET software developments and news from Microsoft Corporation at http://msdn. microsoft. com/vstudio/nextgen/ Check it out! Chapter 1: Writing Your First Object-Oriented Program Overview ESTIMATED TIME 2 hr. 30 min. In this chapter, you’ll learn how to  ¦ Decide which classes to implement in your program.  ¦ Create a class with fields, properties, and methods. Use a class in an application.  ¦ Use Microsoft Visual Studio . NET tools to create a class definition. Classes are the building blocks of object-oriented programs. Object-oriented program design is driven by the objects in the problem you need to solve. If your goal is to automate class registration, you might create classes for the instructor, student, and class schedule objects. Objects also have properties that describe them and their behavior. These are implemented as properties and methods of a class. Just as an instructor has a name, so does the Instructor class have a Name proper ty.To assign a student to a class, you’d need to find an open section in the schedule. So your ClassSchedule class might implement a FindOpenSection method. The method would likely check the variable, called a field, in the class in which you’ve stored information about sections. In this chapter, you’ll learn how to identify the objects in your problem domain and their properties and behaviors (methods). Using this analysis, you’ll design and implement the classes using property and method programming constructs. You’ll then declare and initialize the variables of the classes you’ve coded.Finally, you’ll implement the solution to your problem by calling the properties and methods of the class variables. Reading Books: Your First Object-Oriented Program Your task in this chapter is to implement a program that displays large text files in page- size pieces. Typically, your task begins with a specification, perhaps complete, perhaps not. The specification for Chapter 1 follows: You have downloaded on your computer the text of several books. You want to be able to select a book and read one particular page at a time. You also want to be able to set the length of a page. You’ve already decided which user interface you want to use; it’s shown here:As you look at the user interface, you can see that you need to add some controls to a Windows form: a ListBox, a RichTextBox, two NumericUpDown controls, and some labels. How will you store the texts of the books? How will you fill the list? How will you retrieve the correct page of the book that you want to read? You can use object-oriented programming to answer these questions. Designing the Classe s Before you can implement your classes, you must decide which classes you need. First you look for the objects in the problem. Having found the objects, you then look for properties, which are characteristics or qualities that belong to the object, and methods, w hich are behaviors of the object.You can choose from many ways to design the classes in an application. The approach presented here begins with a textual analysis of the problem. The nouns are selected as candidates for classes, while verbs become candidates for the methods. In the course of the analysis, you’ll eliminate many of the nouns as candidates, and you might discover classes that aren’t among the nouns in the specification. After you determine the objects, properties, and methods that belong to your classes, you can then write the class specification that you’ll use in the implementation. Find the classes . Read the problem statement, and find all the nouns. You have downloaded on your computer the text of several books. You want to be able to select a book and read one particular page at a time. You also want to be able to set the length of a page. 2. Eliminate candidates. Reasons to eliminate a candidate include  ¦ The class based on the noun would have only properties or only methods.  ¦ The class based on the noun wouldn’t be relevant to the problem.  ¦ The class based on the noun wouldn’t represent one object.You can eliminate the irrelevant candidates: computer and time. Length (of a page) is merely an integer value and wouldn’t generate enough behavior to qualify as a class. The same is true of text in this example—the only thing to be done with it is to display a piece of it, a page. By the same reasoning, page is also not a class. That leaves book and books. Books is just the plural of book , so you are left only with book as a potential class. But you aren’t finished yet. 3. Search for missing candidates. Consider this specification, â€Å"The dealer deals four cards to each player. There’s no mention of a deck of cards, although deck is a likely class in that problem. Remember eliminating books? Another class does, in fact, represent the properties and behavior of a grou p of books. You can call this class Library. The library concept is different from the book concept. A book has a title and text and can be read. A library contains many books, which can be checked out and returned. Left with the Book and Library classes, you can now search for properties and methods. Find the methods and properties 1. Read the problem statement, and find all the verbs. You can leave out the helping verbs, such as is, was, and have.As in the case of the nouns, textual analysis of verbs is just the starting point for finding the methods. You have downloaded on your computer the text of several books. You want to be able toselect a book and read one particular page at a time. You also want to be able to set the length of a page. 2. Consider each verb. Is it a method, or does it indicate a method? Is it relevant to the problem? Downloaded and want are clearly irrelevant to the problem. Select is an operation of the Library class. In a real library, this action would co rrespond to finding a book on the shelf and checking it out. So the Library has a CheckOut method.There’s also a hidden property here because a book needs a title. Read is an operation of the Book class. This method allows you to read one particular page, so it can be named GetPage. The verb set indicates that a property needs to be changed, and that property is the length of a page, PageLength. 3. The same nouns that you eliminated as classes might in fact be properties of those classes. Text, length (of a page), and page were eliminated as classes. A book does need text, so Text becomes a property of Book. You discovered that PageLength is a property in considering the verb set.Page represents one section of the text and represents the result of the GetPage operation, so it isn’t a property. 4. Look for missing properties and methods. If you’re going to check books out of the library, you need a way to add books to the library and return the checked-out books. A CheckIn method will handle this. Testing the Class Design Reread the problem, and determine whether your classes, with their properties and methods, provide the functionality necessary to solve the problem. You have downloaded on your computer the text of several books. Do you have a way of storing and organizing several books?Yes, you can create one Book for each book and one Library to store them all. You want to be able to select a book and read one particular page at a time. Can you select one book and read one page? Yes, books can be selected by their titles, and the GetPage method retrieves one page. You also want to be able to set the length of a page. Can you set the length of a page? Yes, the Book class has a PageLength property. The results are shown in the following table. The methods are shown as they might be declared in Visual Basic. Class Book Properties Integer PageLengt h Methods GetPage (pageNumber As Integer) As String Class Library Creating the Book Class Prop ertiesString Text String Title Methods CheckIn (aBook As Book) CheckOut(title As String) As Book The following exercise covers the basics of class implementation using the Book class as an example. To implement the Library class, you’ll use some of the development tools provided by the Microsoft Visual Studio . NET integrated development environment (IDE). Create the book class 1. In the IDE, click the File menu, point to New, and then click Project. The New Project dialog box opens. 2. Select Visual Basic Projects or Visual C# Projects in the Project Types tree, click Windows Application in the Templates list. 3.Enter ReadBooks in the Name box, and click OK. 4. Display the Solution Explorer by selecting Solution Explorer on the View menu. Click the ReadBooks project in the Solution Explorer. 12. On the Project menu, click Add Class. The Add New Item dialog box appears, as shown here: 13. Enter either Book. vb or Book. cs in the Name box, depending on the language you are usi ng. Note that the class name begins with a capital letter and is singular. 14. Click Open. The IDE adds a file to your project. The file includes the basic definition of a class, as shown in the following two screen shots.The Visual Basic class contains the minimum for a class declaration. Here’s the syntax for declaring a class in Visual Basic: Class ClassName End Class In this case, the class is named Book. The IDE adds the Public modifier that’s shown to indicate that the class can be used throughout the project. The Visual C# class contains the class declaration as well as a constructor. Here’s the syntax for declaring a class in C#: class ClassName {} A constructor contains code to initialize the fields of a class and perform other class initialization fun‘ctions. In C#, it has the same name as the class. A constructor isn’t required.I’ll talk more about constructors in Chapter 2, â€Å"Creating Class Instances with Constructors. † Add the Text and PageLength fields A field is a variable declared in a class block. Fields can be any . NET data type, such as Integer or Boolean; . NET class, such as TextBox or ListBox; or any class that you have created. 1. Locate the beginning of the class definition. In Visual Basic, the class definition begins immediately after the line that shows the class name. In Visual C#, the class definition begins after the opening curly brace of the class. 2. Add the following code inside the class to create Text and PageLength fields. 3. ‘ Visual BasicPublic Text As String = â€Å"† Public PageLength As Integer = 10 // Visual C# public string Text = â€Å"†;p public int PageLength = 10; Tip By convention, the initial letters of names of public members (fields, properties, methods, and events) of a class are capitalized (Textfield) or are intercapitalized (PageLength field). According to the code, you have specified initial values for the fields: the empty string for Text and 10 for PageLength. A basic tenet of object-oriented programming is that an object should maintain a consistent state. That means that the state of the object (the values of its fields) should represent a usable state.If you didn’t initialize the fields, values would default to â€Å"† for the Text field and 0 for the PageLength field. If those were acceptable values for a book, you could leave them uninitialized. But because compilers and their default values change, you can prevent maintenance problems by initializing the fields. Your client code (the code that uses a Book object) is able to read and write to any field declared with the public keyword (Public in Visual Basic and public in Visual C#). Providing direct access to the class data is a violation of the object-oriented principle of information hiding, which stipulates that the client has no knowledge of the underlying data structure of an object.In the next section, you’ll learn how to al low the client code to get and set the Title of the Book without giving away details about the implementation. Add the Title property A property is a programming construct that allows your code to get and set a value. Typically, the code in the property constructor will get and set the value of a private field in the class. In client code, a public field and a property are used in the same way—for example, SomeBook. Text and SomeBook. Title. 1. Add the following code to the Book class after the Text and PageLength declarations. 2. Private m_title As String ‘ Visual Basic private string m_title; // Visual C#This code creates a private field in the Book class. Client code doesn’t have access to this property. Tip Private fields of a class are declared using the m_ prefix to identify them as member data. Private field names aren’t capitalized. 3. Add the following code to the Book class, after the m_title declaration. 4. ‘ Visual Basic 5. Public Propert y Title() As String 6. Get 7. Return m_title 8. End Get 9. Set(ByVal value As String) 10. m_title = value 11. End SetEnd Property 12. // Visual C# 13. public string Title { 14. get { 15. return m_title; 16. } 17. set { 18. m_title = value; 19. }} These syntax blocks define class properties.The Title property appears in the IntelliSense drop-down list just like any other property, such as the familiar TextBox. Text or Form. Backcolor. The property block allows you to control access to the property. You can add validation code to the Set block to ensure that only reasonable values are assigned to the underlying m_title field. Note Please notice an important difference between fields and properties. A place is reserved in memory for fields. They contain the actual data of the class. Properties provide access to the data but are not data themselves. In this book, I use the word set to mean changing a property. I use the word get to mean retrieving the value of a property.The Get and Set blocks of a property can be called getters and setters, or accessors . The property block is more flexible than you’ve seen here. Properties can be public or private, read/write, read-only, or write-only. In Visual Basic, the property statements can even take a parameter. By the way, I cover properties in detail inChapter 2, but I need to talk about them at least a little bit in this chapter. A Little Bit About Properties We can use the word properties, in a general object-oriented sense, to mean the descriptive information about an object. We can also use properties to mean the particular syntactic construct provided by Visual Basic and C#.The particular meaning of the word can be determined by context. Use properties to validate class data and hide class implementation. You have to make a strong case for using public fields in a class. The addition of a property to a class to control access to the underlying data requires minimal effort. The benefit of this practice is tha t you can easily add validation or change the implementation if you need to without affecting clients already using your objects. Add the GetPage method  ¦ Add the GetPage method to the class definition after the field declarations. ‘ Visual BasicPublic Function GetPage(ByVal pageNumber As Integer) As String Dim start As Integer = (pageNumber -1) * PageLength If (start < Text. Length) And (start >= 0) Then If (start + PageLength) < Text. Length Then Return Text. Substring(start, PageLength) Else Return Text. Substring(start, Text. Length – start) End If Else Return â€Å"† End IfEnd Function // Visual C# public string GetPage(int pageNumber) { int start = (pageNumber – 1) * PageLength; if ((start < Text. Length) && (start >= 0)) { if ((start + PageLength) < Text. Length) { return Text.Substring(start, PageLength); } else { return Text. Substring(start, Text. Length – start); } } else { return â€Å"†; }} In Chapter 3, â€Å"Fields and Prop erties,† you’ll see how we can replace the GetPage method with a construct known as an indexer in Visual C# or with a default Item method in Visual Basic. The complete class definitions for our project are shown here: ‘ Visual Basic Public Class Book Public Text As String = â€Å"† Public PageLength As Integer = 10 Private m_title As String Public Property Title() As String Get Return m_title End Get Set(ByVal Value As String) m_title = Value End Set End PropertyPublic Function GetPage(ByVal pageNumber As Integer) As String Dim start As Integer = (pageNumber – 1) * PageLength If (start < Text. Length) And (start >= 0) Then If (start + PageLength) < Text. Length Then Return Text. Substring(start, PageLength) Else Return Text. Substring(start, Text. Length – start) End If Else Return â€Å"† End If End FunctionEnd Class // Visual C#using System;namespace ReadBooks{ /// /// Summary description for Book. /// public class Book { public strin g Text = â€Å"†; public int PageLength = 10; private string m_title; public Book() { // // TODO: Add constructor logic here // } public string Title { get { return m_title; } set { m_title = value; } } ublic string GetPage(int pageNumber) { int start = (pageNumber – 1) * PageLength; if ((start < Text. Length) && (start >= 0)) { if ((start + PageLength) < Text. Length) { return Text. Substring(start, PageLength); } else { return Text. Substring(start, Text. Length – start); } } else { return â€Å"†; } } }} Fields, properties, methods, and constructors can appear in any order in a class definition. Good organization benefits future readers of your code.Here’s a common organization and, in fact, the one I used in this book:  ¦ Field declarations  ¦ Constructors  ¦ Properties  ¦ Methods Using the Book Class in an Application You’ve just finished implementing the Book class. The class definition is just a template for an object. To put data in the fields and properties, you have to create an instance of the class in memory; this action is known as instantiation. When you create an instance, a section of memory is set aside to hold the fields of the object. If you create another instance of the class, another section of memory is set aside for its fields. You aren’t going to implement the full solution yet.First you need to write some code to test your class. You’ll create two instances of the Book class in the ReadBooks project, and you’ll display the fourth page of each book. (These will be very short books. ) You’ll create a cookbook and a book of fairy tales, so you’ll need to create two separate instances of the Book class. Instead of creating a fancy interface, you’ll write just enough code to see whether your class is working as you expected. Test Drivers A short program to test a class is called a driver. It’s a good idea to exercise your class a bit with a driver before adding the class to a larger program.Use the driver to test your class without the interference of other code in the program. Create an instance of Book 1. In the Solution Explorer, double-click Form1 to open it in the Windows form designer. If Form1 is opened in the code editor, select View, Designer. 2. Drag a button from the Toolbox onto Form1. If the Toolbox isn’t visible, select View, Toolbox. 3. Right -click the button, and click Properties on the shortcut menu. In the Properties window, set the Name property of the button to showPage and set the Text property to Show Page. The button on the Windows form is created from the Button class.Name and Text are properties of the Button class. So we can talk about getting and setting these properties. Form1 is a class as well, and the button you just created is a field of the Form1 class. 4. Double-click the button to create the Click event method. 5. Add the following code in boldface to the Click event to create a book of fairy tales. 6. ‘ Visual Basic 7. Private Sub showPage_Click(ByVal sender As System. Object, _ 8. ByVal e As System. EventArgs) Handles showPage. Click 9. Dim fairyTales As Book 10. fairyTales = New Book() 11. End Sub 12. // Visual C# 13. rivate void showPage_Click(object sender, System. EventArgs e) { 14. Book fairyTales; 15. fairyTales = new Book(); } 16. Add the following code to set the Text, PageLength, and Title properties immediately after the code you entered in step 5: 17. ‘ Visual Basic 18. fairyTales. Text = â€Å"Once upon a time there was a bear. † 19. fairyTales. PageLength = 8fairyTales. Title = â€Å"Fairy Tales† 20. // Visual C# 21. fairyTales. Text = â€Å"Once upon a time there was a bear. â€Å"; 22. fairyTales. PageLength = 8; fairyTales. Title = â€Å"Fairy Tales†;When the instance of Book is created, its fields contain the values specified in the class definition. The Text field is an empty string, the page length is 10, and the title is blank. Notice that it makes no difference in the client code whether you use a field or a property. 23. Add the following code after the fairyTales code to create another instance of the Book class. (This instance will be a recipe book. ) 24. ‘ Visual Basic 25. Dim cookies As Book = New Book() 26. cookies. Text = â€Å"Chocolate chip cookies are the most delicious co okies. † 27. ookies. PageLength = 8 28. cookies. Title = â€Å"Cookie Recipes† 29. // Visual C# 30. Book cookies = new Book(); 31. cookies. Text = â€Å"Chocolate chip cookies are the most delicious co okies. â€Å"; 32. cookies. PageLength = 8; cookies. Title = â€Å"Cookie Recipes†; In this case, you used a different syntax for declaring and initializing a variable of the Book class. Visual Basic and Visual C# allow declaration and initialization in the same statement. Declaring and initializing in the same statement has the following advantages:  ¦ Programmers ar e less likely to forget to initialize the variable. When a class defines a constructor with parameters, the fields can be initialized at the same time. (You’ll create constructors with parameters in Chapter 3. ) Use an instance of the Book class 1. Add the following code after the cookies code to display some of the text of the two books. In later chapters, you’ll learn other ways to return the text of a particular page in the book. 2. ‘ Visual Basic 3. Dim page As Integer = 3 4. Dim report As String 5. report = â€Å"Page † & page. ToString() & ControlChars. CrLf _ 6. & fairyTales. Title & â€Å": † & fairyTales. GetPage(page) _ 7. ControlChars. CrLf _ 8. & â€Å"Cookies: † & cookies. GetPage(page) 9. MessageBox. Show(report) 10. report = â€Å"Titles: † + fairyTales. Title & † and † & cookies. Title 11. MessageBox. Show(report) 12. // Visual C# 13. int page = 3; 14. string report; 15. report = â€Å"Page † + page. ToString() + † † 16. + fairyTales. Title + â€Å": † + fairyTales. GetPage(page) + † † 17. + cookies. Title + â€Å": † + cookies. GetPage(page); 18. MessageBox. Show(report); 19. report = â€Å"Titles: † + fairyTales. Title + † and † + cookies. Title; MessageBox. Show(report);This bit of code demonstrates that there are two separate instances of the Book class. We can refer to these instances using the variables fairyTales and cookies . The object-oriented concept that permits each instance to be referred to separately is known as identity. You’ll see in later chapters that the identity principle doesn’t mean that you have to create a variable for each instance. Creating so many variables is unwieldy if you need hundreds of instances of a class. Identity does mean that you can refer to each instance separately when you need to.Notice that when you created an instance of Book, the fields of fairyTales were change d and the GetPage method was called. Later on we retrieved the value of the Title property. The value of Title was unchanged after the GetPage method was called. The fact that the value was unchanged demonstrates the concept of object state, the idea that the fields retain their values between method calls. Compare the way the GetPage method works with a method that has variable declarations. After the GetPage method ends, the variables go out of scope and their values are lost to the application. 20. Press F5 to run the code. Click the Show Page button.The results are shown here: Click OK, and the book titles are displayed in a message box as shown here: Click OK, and then close the application. You’ve now created a class, Book, and two instances of it. Your code sent a message to the Book class through the GetPage method to ask for the third page of the text. In the next sections, you’ll implement another class, Library. This time, however, you’ll let some of the IDE tools do some of the syntactic work for you. Using the Class View The IDE provides a Class View that displays a tree view of the class structure of the project, namespaces, and classes.The Class View can share the same window as the Solution Explorer. On the View menu, click Class View to open the Class View. The expanded Class View is shown below for Visual Basic and Visual C#, respectively. The highest-level node represents the project, ReadBooks. The next level of nodes represents the namespaces in the project. A project can contain several namespaces; in this case, there’s only one. The project namespace contains two classes: the class that we created, Book, and the class for the Windows form, Form1. The Book class contains two public fields, PageLength and Text, epresented by blue blocks, and one private field, m_ti

Friday, January 10, 2020

What Absolutely Everyone Is Saying About Thousands of Essay Samples Plaintext and What You Need to Do

What Absolutely Everyone Is Saying About Thousands of Essay Samples Plaintext and What You Need to Do For engineers you may download absolutely free sample resume samples archives free. When you're choosing an essay topic, it's important to pick one that has lots of information and statistics to back up your standpoint, nor exaggerate any info which you have chosen to write about. Think about the example you're setting. The map is only a synthesis of that which we believe are the minimal meta-themes for meaningful metamorphosis. Though the conclusion paragraph comes at the conclusion of your essay it ought not be regarded as an afterthought. Possessing a crystal clear and structured plan is the foundation for any great bit of writing, and a college essay is not any different. Thank God it's very simple to verify originality of any paper. Don't forget to make abstract claims concrete, or so the reader knows just what you mean. The text ought to be as easy as possible, and formatting requirements ought to be simple also. Ruled-based methods are thought to be very accurate much like a very simple rule they can classify a huge number of entities. You don't have to be worried about your personal details that could be viewed, as we handle the matter on a safe network. There are hundreds and hundreds of sample resumes on the world wide web. Facts, Fiction and Thousands of Essay Samples Plaintext It's bad just because it isn't right to steal (a text or a wallet doesn't matter). If you're assigned to compose a 1 000 word expository paper, it means you will need to incorporate a great deal of bare facts and actual info in your upcoming text. If you're bullshitting a paper, look closely at the degree of your essay. Make some notes during reading it's going to save your time and will allow you to understand the information better. The usage of the exclamation mark provides the sentence that Eureka moment. You're probably wondering whether you will sec ure an A grade if you order from us. The 7 Words System supplies a straightforward intuitive routine which makes it feasible for all of us to access a greatly improved feeling of what exactly we're looking for. The bulk of the essay utilizes standard English and English grammar. By learning how to take things apart and critique, you will also learn to compose the statements better. Additionally, your topic sentence needs to be clear and precise. The remaining portion of the paragraph will be produced of supporting sentences. Accordingly, by delegating paper writing to them, you might be sure you will acquire expert help of the finest quality. Growing quantity of literature is getting an important issue for scientist and researchers. The amount of research was characterized in the aftermath of distinguishing the exploration holes in the area. Not all them were good and not each of the applicants were hired, but the essays continue to be on the website in order to know the difference between quality job and only an essay. If you opt to bullshit an essay, it is likewise important to mention sources. As a result, if you'd like to bullshit an essay, make it in large, and you'll win! At our essay support, essays are always delivered in a brief moment. Being an author of your own essay, you can choose how many paragraphs it might have. Stephen's essay is quite effective. A 1 000 word essay is a significant chance to earn an exemplary mark if you know some ideas on how to prepare and compose an essay in the appropriate way. As soon as you finish your essay you are more familiar about your essay and its the ideal time to go for a last title. The Thousands of Essay Samples Plaintext Cover Up When you would like your work done at a particular deadline then they are going to make sure you have the very first draft days or hours before that allotted moment! Think about possible phases of work and make sure you can plan sufficient time for every one of them. Everybody knows that students like written assignments very much because it's very funny to compose a huge number of pages each day. Allow it to sit for a couple days untouched. To begin with, there's always a danger of a cataclysm that humanity won't be in a position to pr edict or defend itself against. Our only likelihood of long-term survival isn't to continue being inward looking on planet Earth except to spread out into space. In the world today, there are several challenges that plenty of men are attempting to take care of. Every year, thousands of people throughout america choose to devote their vacations camping in the wonderful outdoors. The Ultimate Approach for Thousands of Essay Samples Plaintext As you become older your probability of needing long-term care providers increase. Make certain to tell clients how your solution meets their requirements. Make sure to completely understand your customer's needs, and the way your product will fulfill their demands. Learn everything you can about their requirements.

Wednesday, January 1, 2020

Pros And Cons Of Credit Cards - 2174 Words

Credit Cards-- some people might think of this as a dirty word; others might think of it as their saving grace. No matter what your stance on credit cards may be there are many pros and cons to owning and using one. When I was 18, I got my first credit card offer in the mail. As a person who is very bad at saving money, I quickly responded YES! SIGN ME UP! and was soon sent a nice pink plastic card that, in my young eyes, was the key to open so many doors for things I never was able to afford. I was soon purchasing an Mp3 player, shoes, purses, you name it, but I was soon rudely awakened by my credit card bill. The minimum payment was only $10, so I thought, my minimum wage job would be fine to cover it! In no time I had maxed out my†¦show more content†¦Credit can also be very helpful when you need some money in case of an emergency, like having a credit card that you keep just for auto emergencies or medical expenses.This can be extremely important when your car needs a n ew transmission and you have already emptied your savings account trying to pay for just the labor costs alone and its not even finished. Many people also keep an emergency credit card in case they became stranded while on a trip and unable to get home on time, this will help ease the stress of paying a few extra nights for a hotel. Credit Cards can also make shopping a breeze, which is great especially if you are someone who does not have a lot of time to wait around in line at a store; and when you do have to go to the store the card is so easy to use, no more digging in your pockets for change or emptying your purse to find that extra dollar that you just know you have somewhere. Another major benefit of a credit card is security. If you lose your cash, or if it is stolen, there is no way to claim what was taken, however if you use a credit card that becomes lost or stolen, you can report it to the company that issued it and many times the company will refund the amount that th e theif used and refund any fees incurred by the theft. Overall Credit does not have to be a scary thing,Show MoreRelatedPros And Cons Of Credit Cards746 Words   |  3 PagesThe Pros and Cons of Credit Cards Credit can be a powerful and beneficial tool, however, there are many pros and cons that accompany credit cards use. When used correctly, credit cards are invaluable, however they can also demolish a person’s credit history, affecting them for years to come. As a society, we are becoming increasingly dependent on using credit cards and recognizing the positives and negatives is key to responsible credit card use. The advantages of credit cards have revolutionizedRead MoreCash And Credit Cards : Cash Or Credit Card965 Words   |  4 PagesIn today’s economy, cash or a credit card is needed to meet the basic human needs. It is an apparent fact that we need cash or credit cards to purchase items such as food, clothing, and to buy gas. Also, when you are out shopping and discover that you have used all the cash in your possession, it is then that you realize that the advantage of having a credit card. Furthermore, with cash, you are restricted to the amount in your wallet or purse; however, a credit card allows you to pay for your purchaseRead MoreCredit Card Vs. Credit Cards886 Words   |  4 PagesIn today’s economy cash or a credit card is needed to meet the basic human need. It is a clear fact that we need cash or credit to purchase items such as food, clothing, to pay bills, as well as buy gas for our daily travels. However, when you are out shopping and discover that yo u have used all the cash in your possession, which is when we realize that the benefit of having a credit card is very beneficial. Although cash and credit cards are similar in that, they both are used to pay for goodsRead MoreWhy Are Ebates Is A Reward Program?1247 Words   |  5 Pagesin handy, and over the course of a year can add up to a hefty sum. Shopping Ebates. Ebates is a reward program that will return a percentage of your total online shopping bill to you if you enter the store s online site through an Ebates link. Pros: Ebates is a reputable company that actually sends you checks for your shopping experience. There is a plethora of stores to choose from, including almost every large chain in America including online giants like eBay and Amazon. The cash back rewardsRead MoreThe Key Facts About Raydar Electronics1343 Words   |  6 Pagesother technologies such as unique identification card and biometrics (finger prints). ïÆ'Ëœ To continue tagging using RFID technology. COA EVALUATION: ï  ¶ Making use of other technologies such as unique identification card (swipe card) and biometrics (finger prints). Pros: †¢ A very few seconds of time is required for finger print scanning system. †¢ Finger prints are very unique identifier specific to individuals. †¢ By using a unique identification card, once the customer visits the store all the customerRead MoreCase analysis for Hyundai Card1338 Words   |  6 Pagesï » ¿Executive Summary As a latecomer in Korean credit card market, Hyundai Card has gradually increased the market share since it entered the business in 1999. With its tie with Hyundai motor group, the company branded itself as Hyundai M Card. It started off by attracting buyer to consider using the card to purchase Hyundai automobile by offering discount. In later stages, the company has adopted the customer segmentation strategy to diversify its target groups of clients. With the emphasisRead MoreWhy Credit Counseling Is The Right Solution For Your Particular Needs842 Words   |  4 Pagesfor profit credit counseling service. Before determining if credit counseling is the right solution for your particular needs, it is important to understand the pros and cons as well as alternatives that might work better. Basics of Credit Counseling: Before looking into a credit counseling company, it is important to understand the basics of the service. Understanding what credit counseling does will make it easier to determine if it is the service you need. A for profit credit counselingRead MorePros And Cons939 Words   |  4 Pagesas considering which style, or styles, are perfect for every room, and which accessories to add for enhanced comfort and beauty. So, lets talk about several options you can use to pay for your new Renewal by Andersen replacement windows. The Pros Cons of Financing Modern Replacement Windows Financing a large purchase like a new house or a new car often means financing at least part of the total price. Some homeowners hesitate to add another monthly payment, but there are a few advantages, ifRead MoreThe Pros and Cons of Owning a Cell Phone790 Words   |  4 PagesThe pros and cons of owning a cell phone Broc Barchard COMM/112 April-08-2013 Kerry Moquett The pros and cons of owning a cell phone Annotated Bibliography: Are cell phones controlling us? I generally like this source because it goes into great detail about the evolution of cell phones. Starting back in 1984 the first cell phone was basically a brick, and now the cell phones used today are way smaller. Also this source talks about devices becomingRead MoreAlpen Bank1311 Words   |  6 Pagessuccessful implementation of Alpen Bank in Romania in the years 2000, Gregory Carle the country manager is wondering whether Alpen Bank should consider launching a credit card in the market. In order for the launch to be profitable several points have to be clarified such as who would the company target, what would be the positioning of this new card and how should it be marketed. Situation Analysis Context: After a period of recession, the economy in Romania is on a rising trend. The total disposable